mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-10-08 20:07:51 +00:00
initial listner
This commit is contained in:
parent
d6d51705fa
commit
de7d69234e
3 changed files with 38 additions and 10 deletions
|
|
@ -19,6 +19,7 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"path"
|
||||
"strings"
|
||||
"time"
|
||||
|
|
@ -45,6 +46,9 @@ type Options struct {
|
|||
ClusterURL string `toml:"cluster-url"`
|
||||
ClusterName string `toml:"cluster-name"`
|
||||
HeartbeatTTL int64 `toml:"heartbeat-ttl"`
|
||||
|
||||
LPeerSocket []*net.TCPListener
|
||||
LClientSocket []*net.TCPListener
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
@ -124,6 +128,19 @@ func parseOptions(opt Options) *embed.Config {
|
|||
cfg.LPUrls = types.MustNewURLs([]string{opt.LPeerURL})
|
||||
cfg.APUrls = types.MustNewURLs([]string{opt.APeerURL})
|
||||
|
||||
lps := make([]*net.TCPListener, len(opt.LPeerSocket))
|
||||
copy(lps, opt.LPeerSocket)
|
||||
cfg.LPeerSocket = lps
|
||||
|
||||
lcs := make([]*net.TCPListener, len(opt.LPeerSocket))
|
||||
copy(lcs, opt.LClientSocket)
|
||||
cfg.LClientSocket = lcs
|
||||
|
||||
cfg.Logger = "zap"
|
||||
cfg.ZapLoggerBuilder = func(*embed.Config) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
if opt.InitCluster != "" {
|
||||
cfg.InitialCluster = opt.InitCluster
|
||||
cfg.ClusterState = embed.ClusterStateFlagNew
|
||||
|
|
|
|||
|
|
@ -604,6 +604,10 @@ func (m *Command) Close() error {
|
|||
}
|
||||
}
|
||||
|
||||
// prevent the closed sockets from being re-injected into etcd.
|
||||
m.Config.DisCo.LPeerSocket = nil
|
||||
m.Config.DisCo.LClientSocket = nil
|
||||
|
||||
err := eg.Wait()
|
||||
_ = testhook.Closed(pilosa.NewAuditor(), m, nil)
|
||||
return errors.Wrap(err, "closing everything")
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ package test
|
|||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
|
@ -39,8 +40,12 @@ func GenPortsConfig(ports []Ports) []*server.Config {
|
|||
name := fmt.Sprintf("server%d", i)
|
||||
|
||||
var lClientURL, lPeerURL string
|
||||
lClientURL = fmt.Sprintf("http://localhost:%d", ports[i].Client)
|
||||
lPeerURL = fmt.Sprintf("http://localhost:%d", ports[i].Peer)
|
||||
name := fmt.Sprintf("server%d", i)
|
||||
lsnC, portC := port.MustGetBoundTCPListener()
|
||||
lClientURL := fmt.Sprintf("http://localhost:%d", portC)
|
||||
lsnP, portP := port.MustGetBoundTCPListener()
|
||||
lPeerURL := fmt.Sprintf("http://localhost:%d", portP)
|
||||
|
||||
discoDir := ""
|
||||
if d, err := ioutil.TempDir("/tmp", "disco."); err == nil {
|
||||
discoDir = d
|
||||
|
|
@ -52,14 +57,16 @@ func GenPortsConfig(ports []Ports) []*server.Config {
|
|||
},
|
||||
BindGRPC: port.ColonZeroString(ports[i].Grpc),
|
||||
DisCo: etcd.Options{
|
||||
Name: name,
|
||||
Dir: discoDir,
|
||||
ClusterName: "bartholemuuuuu",
|
||||
LClientURL: lClientURL,
|
||||
AClientURL: lClientURL,
|
||||
LPeerURL: lPeerURL,
|
||||
APeerURL: lPeerURL,
|
||||
HeartbeatTTL: 5 * int64(time.Second),
|
||||
Name: name,
|
||||
Dir: discoDir,
|
||||
ClusterName: "bartholemuuuuu",
|
||||
LClientURL: lClientURL,
|
||||
AClientURL: lClientURL,
|
||||
LPeerURL: lPeerURL,
|
||||
APeerURL: lPeerURL,
|
||||
HeartbeatTTL: 5 * int64(time.Second),
|
||||
LPeerSocket: []*net.TCPListener{lsnP},
|
||||
LClientSocket: []*net.TCPListener{lsnC},
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue