Przeglądaj źródła

etcdserver: go back to marshal request in 2.1 way

It fixes the problem that 2.1 cannot roll upgrade to 2.2 smoothly
because 2.1 cannot understand the bytes marshalled at 2.2.
Yicheng Qin 10 lat temu
rodzic
commit
0fdb77aea2
2 zmienionych plików z 5 dodań i 9 usunięć
  1. 1 3
      etcdserver/server.go
  2. 4 6
      etcdserver/server_test.go

+ 1 - 3
etcdserver/server.go

@@ -529,9 +529,7 @@ func (s *EtcdServer) Do(ctx context.Context, r pb.Request) (Response, error) {
 	}
 	}
 	switch r.Method {
 	switch r.Method {
 	case "POST", "PUT", "DELETE", "QGET":
 	case "POST", "PUT", "DELETE", "QGET":
-		var raftReq pb.InternalRaftRequest
-		raftReq.V2 = &r
-		data, err := raftReq.Marshal()
+		data, err := r.Marshal()
 		if err != nil {
 		if err != nil {
 			return Response{}, err
 			return Response{}, err
 		}
 		}

+ 4 - 6
etcdserver/server_test.go

@@ -989,11 +989,10 @@ func TestPublish(t *testing.T) {
 		t.Fatalf("action = %s, want Propose", action[0].Name)
 		t.Fatalf("action = %s, want Propose", action[0].Name)
 	}
 	}
 	data := action[0].Params[0].([]byte)
 	data := action[0].Params[0].([]byte)
-	var rr pb.InternalRaftRequest
-	if err := rr.Unmarshal(data); err != nil {
+	var r pb.Request
+	if err := r.Unmarshal(data); err != nil {
 		t.Fatalf("unmarshal request error: %v", err)
 		t.Fatalf("unmarshal request error: %v", err)
 	}
 	}
-	r := rr.V2
 	if r.Method != "PUT" {
 	if r.Method != "PUT" {
 		t.Errorf("method = %s, want PUT", r.Method)
 		t.Errorf("method = %s, want PUT", r.Method)
 	}
 	}
@@ -1073,11 +1072,10 @@ func TestUpdateVersion(t *testing.T) {
 		t.Fatalf("action = %s, want Propose", action[0].Name)
 		t.Fatalf("action = %s, want Propose", action[0].Name)
 	}
 	}
 	data := action[0].Params[0].([]byte)
 	data := action[0].Params[0].([]byte)
-	var rr pb.InternalRaftRequest
-	if err := rr.Unmarshal(data); err != nil {
+	var r pb.Request
+	if err := r.Unmarshal(data); err != nil {
 		t.Fatalf("unmarshal request error: %v", err)
 		t.Fatalf("unmarshal request error: %v", err)
 	}
 	}
-	r := rr.V2
 	if r.Method != "PUT" {
 	if r.Method != "PUT" {
 		t.Errorf("method = %s, want PUT", r.Method)
 		t.Errorf("method = %s, want PUT", r.Method)
 	}
 	}