diff --git a/cluster/client.go b/cluster/client.go index 6a532b5d..4ae40b4b 100644 --- a/cluster/client.go +++ b/cluster/client.go @@ -70,7 +70,7 @@ func (c *Client) GetNodeAPIAddr(nodeAddr string) (string, error) { } // Execute performs an Execute on a remote node. -func (c *Client) Execute(nodeAddr string, er *command.ExecuteRequest, timeout time.Duration) ([]*command.ExecuteResult, error) { +func (c *Client) Execute(er *command.ExecuteRequest, nodeAddr string, timeout time.Duration) ([]*command.ExecuteResult, error) { conn, err := c.dialer.Dial(nodeAddr, c.timeout) if err != nil { return nil, fmt.Errorf("dial connection: %s", err) @@ -129,7 +129,7 @@ func (c *Client) Execute(nodeAddr string, er *command.ExecuteRequest, timeout ti } // Query performs an Query on a remote node. -func (c *Client) Query(nodeAddr string, qr *command.QueryRequest, timeout time.Duration) ([]*command.QueryRows, error) { +func (c *Client) Query(qr *command.QueryRequest, nodeAddr string, timeout time.Duration) ([]*command.QueryRows, error) { conn, err := c.dialer.Dial(nodeAddr, c.timeout) if err != nil { return nil, fmt.Errorf("dial connection: %s", err) diff --git a/cluster/service_database_test.go b/cluster/service_database_test.go index 5a4e1b15..15c7b980 100644 --- a/cluster/service_database_test.go +++ b/cluster/service_database_test.go @@ -37,7 +37,7 @@ func Test_ServiceExecute(t *testing.T) { } return nil, errors.New("execute failed") } - _, err := c.Execute(s.Addr(), executeRequestFromString("some SQL"), fiveSec) + _, err := c.Execute(executeRequestFromString("some SQL"), s.Addr(), fiveSec) if err == nil { t.Fatalf("client failed to report error") } @@ -55,7 +55,7 @@ func Test_ServiceExecute(t *testing.T) { } return []*command.ExecuteResult{result}, nil } - res, err := c.Execute(s.Addr(), executeRequestFromString("some SQL"), fiveSec) + res, err := c.Execute(executeRequestFromString("some SQL"), s.Addr(), fiveSec) if err != nil { t.Fatalf("failed to execute query: %s", err.Error()) } @@ -72,7 +72,7 @@ func Test_ServiceExecute(t *testing.T) { } return []*command.ExecuteResult{result}, nil } - res, err = c.Execute(s.Addr(), executeRequestFromString("some SQL"), fiveSec) + res, err = c.Execute(executeRequestFromString("some SQL"), s.Addr(), fiveSec) if err != nil { t.Fatalf("failed to execute: %s", err.Error()) } @@ -84,7 +84,7 @@ func Test_ServiceExecute(t *testing.T) { time.Sleep(fiveSec) return nil, nil } - _, err = c.Execute(s.Addr(), executeRequestFromString("some SQL"), oneSec) + _, err = c.Execute(executeRequestFromString("some SQL"), s.Addr(), oneSec) if err == nil { t.Fatalf("failed to receive expected error") } @@ -124,7 +124,7 @@ func Test_ServiceQuery(t *testing.T) { } return nil, errors.New("query failed") } - _, err := c.Query(s.Addr(), queryRequestFromString("SELECT * FROM foo"), fiveSec) + _, err := c.Query(queryRequestFromString("SELECT * FROM foo"), s.Addr(), fiveSec) if err == nil { t.Fatalf("client failed to report error") } @@ -142,7 +142,7 @@ func Test_ServiceQuery(t *testing.T) { } return []*command.QueryRows{rows}, nil } - res, err := c.Query(s.Addr(), queryRequestFromString("SELECT * FROM foo"), fiveSec) + res, err := c.Query(queryRequestFromString("SELECT * FROM foo"), s.Addr(), fiveSec) if err != nil { t.Fatalf("failed to query: %s", err.Error()) } @@ -159,7 +159,7 @@ func Test_ServiceQuery(t *testing.T) { } return []*command.QueryRows{rows}, nil } - res, err = c.Query(s.Addr(), queryRequestFromString("SELECT * FROM foo"), fiveSec) + res, err = c.Query(queryRequestFromString("SELECT * FROM foo"), s.Addr(), fiveSec) if err != nil { t.Fatalf("failed to query: %s", err.Error()) } @@ -171,7 +171,7 @@ func Test_ServiceQuery(t *testing.T) { time.Sleep(fiveSec) return nil, nil } - _, err = c.Query(s.Addr(), queryRequestFromString("some SQL"), oneSec) + _, err = c.Query(queryRequestFromString("some SQL"), s.Addr(), oneSec) if err == nil { t.Fatalf("failed to receive expected error") } diff --git a/http/service.go b/http/service.go index 3c21d9c6..75696315 100644 --- a/http/service.go +++ b/http/service.go @@ -70,10 +70,10 @@ type Cluster interface { GetNodeAPIAddr(nodeAddr string) (string, error) // Execute performs an Execute Request on a remote node. - Execute(nodeAddr string, er *command.ExecuteRequest, timeout time.Duration) ([]*command.ExecuteResult, error) + Execute(er *command.ExecuteRequest, nodeAddr string, timeout time.Duration) ([]*command.ExecuteResult, error) // Query performs an Query Request on a remote node. - Query(nodeAddr string, qr *command.QueryRequest, timeout time.Duration) ([]*command.QueryRows, error) + Query(qr *command.QueryRequest, nodeAddr string, timeout time.Duration) ([]*command.QueryRows, error) // Stats returns stats on the Cluster. Stats() (map[string]interface{}, error) @@ -779,7 +779,7 @@ func (s *Service) handleExecute(w http.ResponseWriter, r *http.Request) { if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } - results, resultsErr = s.cluster.Execute(addr, er, timeout) + results, resultsErr = s.cluster.Execute(er, addr, timeout) stats.Add(numRemoteExecutions, 1) w.Header().Add(ServedByHTTPHeader, addr) } @@ -861,7 +861,7 @@ func (s *Service) handleQuery(w http.ResponseWriter, r *http.Request) { if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } - results, resultsErr = s.cluster.Query(addr, qr, timeout) + results, resultsErr = s.cluster.Query(qr, addr, timeout) stats.Add(numRemoteQueries, 1) w.Header().Add(ServedByHTTPHeader, addr) } diff --git a/http/service_test.go b/http/service_test.go index 8e547915..7228ce7d 100644 --- a/http/service_test.go +++ b/http/service_test.go @@ -818,24 +818,24 @@ func (m *MockStore) Backup(leader bool, f store.BackupFormat, w io.Writer) error type mockClusterService struct { apiAddr string - executeFn func(addr string, er *command.ExecuteRequest, t time.Duration) ([]*command.ExecuteResult, error) - queryFn func(addr string, qr *command.QueryRequest, t time.Duration) ([]*command.QueryRows, error) + executeFn func(er *command.ExecuteRequest, addr string, t time.Duration) ([]*command.ExecuteResult, error) + queryFn func(qr *command.QueryRequest, addr string, t time.Duration) ([]*command.QueryRows, error) } func (m *mockClusterService) GetNodeAPIAddr(a string) (string, error) { return m.apiAddr, nil } -func (m *mockClusterService) Execute(addr string, er *command.ExecuteRequest, t time.Duration) ([]*command.ExecuteResult, error) { +func (m *mockClusterService) Execute(er *command.ExecuteRequest, addr string, t time.Duration) ([]*command.ExecuteResult, error) { if m.executeFn != nil { - return m.executeFn(addr, er, t) + return m.executeFn(er, addr, t) } return nil, nil } -func (m *mockClusterService) Query(addr string, qr *command.QueryRequest, t time.Duration) ([]*command.QueryRows, error) { +func (m *mockClusterService) Query(qr *command.QueryRequest, addr string, t time.Duration) ([]*command.QueryRows, error) { if m.queryFn != nil { - return m.queryFn(addr, qr, t) + return m.queryFn(qr, addr, t) } return nil, nil } diff --git a/system_test/request_forwarding_test.go b/system_test/request_forwarding_test.go index 7e3bc547..b2e40b28 100644 --- a/system_test/request_forwarding_test.go +++ b/system_test/request_forwarding_test.go @@ -32,7 +32,7 @@ func Test_StoreClientSideBySide(t *testing.T) { if exp, got := "[{}]", asJSON(res); exp != got { t.Fatalf("unexpected results, expt %s, got %s", exp, got) } - res, err = client.Execute(leaderAddr, executeRequestFromString("CREATE TABLE bar (id INTEGER NOT NULL PRIMARY KEY, name TEXT)"), fiveSec) + res, err = client.Execute(executeRequestFromString("CREATE TABLE bar (id INTEGER NOT NULL PRIMARY KEY, name TEXT)"), leaderAddr, fiveSec) if err != nil { t.Fatalf("failed to execute via remote: %s", err.Error()) } @@ -47,7 +47,7 @@ func Test_StoreClientSideBySide(t *testing.T) { if exp, got := `[{"last_insert_id":1,"rows_affected":1}]`, asJSON(res); exp != got { t.Fatalf("unexpected results, expt %s, got %s", exp, got) } - res, err = client.Execute(leaderAddr, executeRequestFromString(`INSERT INTO bar(name) VALUES("fiona")`), fiveSec) + res, err = client.Execute(executeRequestFromString(`INSERT INTO bar(name) VALUES("fiona")`), leaderAddr, fiveSec) if err != nil { t.Fatalf("failed to execute via remote: %s", err.Error()) } @@ -70,14 +70,14 @@ func Test_StoreClientSideBySide(t *testing.T) { t.Fatalf("unexpected results, expt %s, got %s", exp, got) } - rows, err = client.Query(leaderAddr, queryRequestFromString(`SELECT * FROM foo`), fiveSec) + rows, err = client.Query(queryRequestFromString(`SELECT * FROM foo`), leaderAddr, fiveSec) if err != nil { t.Fatalf("failed to query via remote: %s", err.Error()) } if exp, got := `[{"columns":["id","name"],"types":["integer","text"],"values":[[1,"fiona"]]}]`, asJSON(rows); exp != got { t.Fatalf("unexpected results, expt %s, got %s", exp, got) } - rows, err = client.Query(leaderAddr, queryRequestFromString(`SELECT * FROM bar`), fiveSec) + rows, err = client.Query(queryRequestFromString(`SELECT * FROM bar`), leaderAddr, fiveSec) if err != nil { t.Fatalf("failed to query via remote: %s", err.Error()) } @@ -92,7 +92,7 @@ func Test_StoreClientSideBySide(t *testing.T) { if exp, got := `[{"error":"no such table: qux"}]`, asJSON(rows); exp != got { t.Fatalf("unexpected results, expt %s, got %s", exp, got) } - rows, err = client.Query(leaderAddr, queryRequestFromString(`SELECT * FROM qux`), fiveSec) + rows, err = client.Query(queryRequestFromString(`SELECT * FROM qux`), leaderAddr, fiveSec) if err != nil { t.Fatalf("failed to query via remote: %s", err.Error()) }