From a9ed69a2dfa79a4faaaf062a950160693a88f8be Mon Sep 17 00:00:00 2001 From: "R.I.Pienaar" Date: Tue, 2 Mar 2021 15:11:56 +0100 Subject: [PATCH] update api types, remove meta peer by id Signed-off-by: R.I.Pienaar --- server/jetstream_api.go | 18 +++++++++--------- server/jetstream_cluster_test.go | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/server/jetstream_api.go b/server/jetstream_api.go index 9b8f6289..68c33d40 100644 --- a/server/jetstream_api.go +++ b/server/jetstream_api.go @@ -448,19 +448,19 @@ type JSApiLeaderStepDownResponse struct { const JSApiLeaderStepDownResponseType = "io.nats.jetstream.api.v1.meta_leader_stepdown_response" -// JSApiLeaderServerRemoveRequest will remove a peer from the system. -type JSApiLeaderServerRemoveRequest struct { - // Server name of the peer to be removed. +// JSApiMetaServerRemoveRequest will remove a peer from the meta group. +type JSApiMetaServerRemoveRequest struct { + // Server ID of the peer to be removed. Server string `json:"peer"` } -// JSApiLeaderServerRemoveResponse is the response to a metaleader peer removal request. -type JSApiLeaderServerRemoveResponse struct { +// JSApiMetaServerRemoveResponse is the response to a peer removal request in the meta group. +type JSApiMetaServerRemoveResponse struct { ApiResponse Success bool `json:"success,omitempty"` } -const JSApiLeaderServerRemovalResponseType = "io.nats.jetstream.api.v1.meta_leader_server_removal" +const JSApiMetaServerRemoveResponseType = "io.nats.jetstream.api.v1.meta_server_remove_response" // JSApiMsgGetRequest get a message request. type JSApiMsgGetRequest struct { @@ -1799,7 +1799,7 @@ func (s *Server) jsLeaderServerRemoveRequest(sub *subscription, c *client, subje return } - var resp = JSApiLeaderServerRemoveResponse{ApiResponse: ApiResponse{Type: JSApiLeaderServerRemovalResponseType}} + var resp = JSApiMetaServerRemoveResponse{ApiResponse: ApiResponse{Type: JSApiMetaServerRemoveResponseType}} if isEmptyRequest(msg) { resp.Error = jsBadRequestErr @@ -1807,7 +1807,7 @@ func (s *Server) jsLeaderServerRemoveRequest(sub *subscription, c *client, subje return } - var req JSApiLeaderServerRemoveRequest + var req JSApiMetaServerRemoveRequest if err := json.Unmarshal(msg, &req); err != nil { resp.Error = jsInvalidJSONErr s.sendAPIErrResponse(ci, acc, subject, reply, string(msg), s.jsonResponse(&resp)) @@ -1818,7 +1818,7 @@ func (s *Server) jsLeaderServerRemoveRequest(sub *subscription, c *client, subje js.mu.RLock() for _, p := range cc.meta.Peers() { si, ok := s.nodeToInfo.Load(p.ID) - if ok && si.(*nodeInfo).name == req.Server { + if ok && si.(*nodeInfo).id == req.Server { found = p.ID break } diff --git a/server/jetstream_cluster_test.go b/server/jetstream_cluster_test.go index 3b1e2f67..34561dfc 100644 --- a/server/jetstream_cluster_test.go +++ b/server/jetstream_cluster_test.go @@ -2919,7 +2919,7 @@ func TestJetStreamClusterPeerRemovalAPI(t *testing.T) { defer nc.Close() // Expect error if unknown peer - req := &JSApiLeaderServerRemoveRequest{Server: "S-9"} + req := &JSApiMetaServerRemoveRequest{Server: "S-9"} jsreq, err := json.Marshal(req) if err != nil { t.Fatalf("Unexpected error: %v", err) @@ -2928,7 +2928,7 @@ func TestJetStreamClusterPeerRemovalAPI(t *testing.T) { if err != nil { t.Fatalf("Unexpected error: %v", err) } - var resp JSApiLeaderServerRemoveResponse + var resp JSApiMetaServerRemoveResponse if err := json.Unmarshal(rmsg.Data, &resp); err != nil { t.Fatalf("Unexpected error: %v", err) } @@ -2941,7 +2941,7 @@ func TestJetStreamClusterPeerRemovalAPI(t *testing.T) { t.Fatalf("Unexpected error: %v", err) } - req = &JSApiLeaderServerRemoveRequest{Server: "S-2"} + req = &JSApiMetaServerRemoveRequest{Server: c.serverByName("S-2").ID()} jsreq, err = json.Marshal(req) if err != nil { t.Fatalf("Unexpected error: %v", err)