1
0
Fork 0

Merge pull request #1172 from rqlite/abl-1

ABL
master
Philip O'Toole 2 years ago committed by GitHub
commit 485a56ab3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -121,7 +121,7 @@ func Test_MultiNodeCluster(t *testing.T) {
// Kill the leader and wait for the new leader.
leader.Deprovision()
c.RemoveNode(leader)
c = c.RemoveNode(leader)
leader, err = c.WaitForNewLeader(leader)
if err != nil {
t.Fatalf("failed to find new cluster leader after killing leader: %s", err.Error())
@ -345,7 +345,7 @@ func Test_MultiNodeClusterBootstrap(t *testing.T) {
// Kill the leader and wait for the new leader.
leader.Deprovision()
c.RemoveNode(leader)
c = c.RemoveNode(leader)
leader, err = c.WaitForNewLeader(leader)
if err != nil {
t.Fatalf("failed to find new cluster leader after killing leader: %s", err.Error())
@ -1064,7 +1064,7 @@ func Test_MultiNodeClusterNodeEncrypted(t *testing.T) {
// Kill the leader and wait for the new leader.
leader.Deprovision()
c.RemoveNode(leader)
c = c.RemoveNode(leader)
leader, err = c.WaitForNewLeader(leader)
if err != nil {
t.Fatalf("failed to find new cluster leader after killing leader: %s", err.Error())
@ -1183,7 +1183,7 @@ func Test_MultiNodeClusterSnapshot(t *testing.T) {
// Kill original node.
node1.Deprovision()
c.RemoveNode(node1)
c = c.RemoveNode(node1)
var leader *Node
leader, err = c.WaitForNewLeader(node1)
if err != nil {
@ -1305,7 +1305,7 @@ func Test_MultiNodeClusterWithNonVoter(t *testing.T) {
// Kill the leader and wait for the new leader.
leader.Deprovision()
c.RemoveNode(leader)
c = c.RemoveNode(leader)
leader, err = c.WaitForNewLeader(leader)
if err != nil {
t.Fatalf("failed to find new cluster leader after killing leader: %s", err.Error())
@ -1580,7 +1580,6 @@ func Test_MultiNodeClusterReapNodes(t *testing.T) {
if err != nil {
t.Fatalf("failed waiting for leader: %s", err.Error())
}
c = Cluster{node1, node2, node3, nonVoter}
// Confirm non-voter node is in the the cluster config.
nodes, err := leader.Nodes(true)
@ -1783,19 +1782,3 @@ func Test_MultiNodeClusterNoReapReadOnlyZero(t *testing.T) {
t.Fatalf("didn't time out waiting for node to be removed")
}
}
func mustGetExpvar(n *Node) string {
j, err := n.Expvar()
if err != nil {
panic(err.Error())
}
return j
}
func mustGetExpvarKey(n *Node, k string) string {
j, err := n.ExpvarKey(k)
if err != nil {
panic(err.Error())
}
return j
}

@ -7,7 +7,7 @@ import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"io/fs"
"net"
"net/http"
"net/url"
@ -235,7 +235,7 @@ func (n *Node) Nodes(includeNonVoters bool) (NodesStatus, error) {
return nil, fmt.Errorf("nodes endpoint returned: %s", resp.Status)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
@ -259,7 +259,7 @@ func (n *Node) Status() (string, error) {
return "", fmt.Errorf("status endpoint returned: %s", resp.Status)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -306,7 +306,7 @@ func (n *Node) ExpvarKey(k string) (string, error) {
return "", fmt.Errorf("expvar endpoint returned: %s", resp.Status)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -339,7 +339,7 @@ func (n *Node) postExecute(stmt string) (string, error) {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -357,7 +357,7 @@ func (n *Node) postExecuteQueued(stmt string, wait bool) (string, error) {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -376,7 +376,7 @@ func (n *Node) query(stmt, consistency string) (string, error) {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -389,7 +389,7 @@ func (n *Node) postQuery(stmt string) (string, error) {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -413,7 +413,7 @@ func PostExecuteStmtMulti(apiAddr string, stmts []string) (string, error) {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@ -477,13 +477,15 @@ func (c Cluster) Followers() ([]*Node, error) {
// RemoveNode removes the given node from the list of nodes representing
// a cluster.
func (c Cluster) RemoveNode(node *Node) {
func (c Cluster) RemoveNode(node *Node) Cluster {
nodes := []*Node{}
for i, n := range c {
if n.RaftAddr == node.RaftAddr {
c = append(c[:i], c[i+1:]...)
return
continue
}
nodes = append(nodes, c[i])
}
return nodes
}
// FindNodeByRaftAddr returns the node with the given Raft address.
@ -656,7 +658,7 @@ func mustNewLeaderNode() *Node {
func mustTempDir() string {
var err error
path, err := ioutil.TempDir("", "rqlilte-system-test-")
path, err := os.MkdirTemp("", "rqlilte-system-test-")
if err != nil {
panic("failed to create temp dir")
}
@ -769,7 +771,7 @@ func mustCreateTLSConfig(certFile, keyFile, caCertFile string) *tls.Config {
}
if caCertFile != "" {
asn1Data, err := ioutil.ReadFile(caCertFile)
asn1Data, err := os.ReadFile(caCertFile)
if err != nil {
panic(err.Error())
}
@ -878,7 +880,7 @@ func copyDir(src string, dst string) (err error) {
return
}
entries, err := ioutil.ReadDir(src)
entries, err := os.ReadDir(src)
if err != nil {
return
}
@ -894,7 +896,7 @@ func copyDir(src string, dst string) (err error) {
}
} else {
// Skip symlinks.
if entry.Mode()&os.ModeSymlink != 0 {
if entry.Type()&fs.ModeSymlink != 0 {
continue
}

@ -237,7 +237,7 @@ func Test_MultiNodeClusterQueuedRequestForwardOK(t *testing.T) {
if len(followers) != 1 {
t.Fatalf("got incorrect number of followers: %d", len(followers))
}
res, err = followers[0].ExecuteQueued(`INSERT INTO foo(name) VALUES("fiona")`, false)
_, err = followers[0].ExecuteQueued(`INSERT INTO foo(name) VALUES("fiona")`, false)
if err != nil {
t.Fatalf("failed to insert record: %s", err.Error())
}

@ -467,6 +467,9 @@ LOOP:
t.Fatalf("queued response is not valid: %s", resp)
}
r, err := node.Query(`SELECT COUNT(*) FROM foo`)
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[6]]}]}`; got != exp {
t.Fatalf("incorrect results, exp: %s, got: %s", exp, got)
}
@ -581,6 +584,9 @@ func Test_SingleNodeQueuedEmptyNil(t *testing.T) {
t.Fatalf("queued response is not valid: %s", resp)
}
r, err := node.Query(`SELECT COUNT(*) FROM foo`)
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[3]]}]}`; got != exp {
t.Fatalf("incorrect results, exp: %s, got: %s", exp, got)
}
@ -603,6 +609,9 @@ func Test_SingleNodeQueuedEmptyNil(t *testing.T) {
t.Fatalf("queued response is not valid: %s", resp)
}
r, err = node.Query(`SELECT COUNT(*) FROM foo`)
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[6]]}]}`; got != exp {
t.Fatalf("incorrect results, exp: %s, got: %s", exp, got)
}

Loading…
Cancel
Save