Merge pull request #5511 from seiflotfy/master
Initialize MetaClient before setting it up as a data and/or meta nodepull/5513/head
commit
5a9953eec1
|
@ -35,6 +35,7 @@
|
|||
- [#5455](https://github.com/influxdata/influxdb/issues/5455): panic: runtime error: slice bounds out of range when loading corrupted wal segment
|
||||
- [#5478](https://github.com/influxdata/influxdb/issues/5478): panic: interface conversion: interface is float64, not int64
|
||||
- [#5475](https://github.com/influxdata/influxdb/issues/5475): Ensure appropriate exit code returned for non-interactive use of CLI.
|
||||
- [#5479](https://github.com/influxdata/influxdb/issues/5479): Bringing up a node as a meta only node causes panic
|
||||
|
||||
## v0.9.6 [2015-12-09]
|
||||
|
||||
|
|
|
@ -363,7 +363,6 @@ func (s *Server) Err() <-chan error { return s.err }
|
|||
|
||||
// Open opens the meta and data store and all services.
|
||||
func (s *Server) Open() error {
|
||||
if err := func() error {
|
||||
// Start profiling, if set.
|
||||
startProfile(s.CPUProfile, s.MemProfile)
|
||||
|
||||
|
@ -380,7 +379,6 @@ func (s *Server) Open() error {
|
|||
|
||||
if s.MetaService != nil {
|
||||
s.MetaService.RaftListener = mux.Listen(meta.MuxHeader)
|
||||
|
||||
// Open meta service.
|
||||
if err := s.MetaService.Open(); err != nil {
|
||||
return fmt.Errorf("open meta service: %s", err)
|
||||
|
@ -388,11 +386,12 @@ func (s *Server) Open() error {
|
|||
go s.monitorErrorChan(s.MetaService.Err())
|
||||
}
|
||||
|
||||
if s.TSDBStore != nil {
|
||||
if err := s.initializeDataNode(); err != nil {
|
||||
// initialize MetaClient.
|
||||
if err = s.initializeMetaClient(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if s.TSDBStore != nil {
|
||||
// Append services.
|
||||
s.appendClusterService(s.config.Cluster)
|
||||
s.appendPrecreatorService(s.config.Precreator)
|
||||
|
@ -465,12 +464,6 @@ func (s *Server) Open() error {
|
|||
go s.startServerReporting()
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
}(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -547,6 +540,9 @@ func (s *Server) reportServer() {
|
|||
|
||||
numMeasurements := 0
|
||||
numSeries := 0
|
||||
|
||||
// Only needed in the case of a data node
|
||||
if s.TSDBStore != nil {
|
||||
for _, di := range dis {
|
||||
d := s.TSDBStore.DatabaseIndex(di.Name)
|
||||
if d == nil {
|
||||
|
@ -557,6 +553,7 @@ func (s *Server) reportServer() {
|
|||
numMeasurements += m
|
||||
numSeries += s
|
||||
}
|
||||
}
|
||||
|
||||
clusterID := s.MetaClient.ClusterID()
|
||||
if err != nil {
|
||||
|
@ -603,8 +600,8 @@ func (s *Server) monitorErrorChan(ch <-chan error) {
|
|||
}
|
||||
}
|
||||
|
||||
// initializeDataNode will set the MetaClient and join the node to the cluster if needed
|
||||
func (s *Server) initializeDataNode() error {
|
||||
// initializeMetaClient will set the MetaClient and join the node to the cluster if needed
|
||||
func (s *Server) initializeMetaClient() error {
|
||||
// if the node ID is > 0 then we just need to initialize the metaclient
|
||||
if s.Node.ID > 0 {
|
||||
s.MetaClient = meta.NewClient(s.Node.MetaServers, s.metaUseTLS)
|
||||
|
@ -626,17 +623,20 @@ func (s *Server) initializeDataNode() error {
|
|||
}
|
||||
s.MetaClient = meta.NewClient([]string{s.MetaService.HTTPAddr()}, s.metaUseTLS)
|
||||
} else {
|
||||
// join this data node to the cluster
|
||||
// join this node to the cluster
|
||||
s.MetaClient = meta.NewClient(s.joinPeers, s.metaUseTLS)
|
||||
}
|
||||
if err := s.MetaClient.Open(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if s.TSDBStore != nil {
|
||||
n, err := s.MetaClient.CreateDataNode(s.httpAPIAddr, s.tcpAddr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
s.Node.ID = n.ID
|
||||
}
|
||||
metaNodes, err := s.MetaClient.MetaNodes()
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue