Only attempt monitor storage creation on leader
Since only the leader can create it, the system might as well only attempt creation on the leader.pull/4333/head
parent
62fab49205
commit
899e1cc070
|
@ -88,6 +88,7 @@ type Monitor struct {
|
|||
ClusterID() (uint64, error)
|
||||
NodeID() uint64
|
||||
WaitForLeader(d time.Duration) error
|
||||
IsLeader() bool
|
||||
CreateDatabaseIfNotExists(name string) (*meta.DatabaseInfo, error)
|
||||
CreateRetentionPolicyIfNotExists(database string, rpi *meta.RetentionPolicyInfo) (*meta.RetentionPolicyInfo, error)
|
||||
SetDefaultRetentionPolicy(database, name string) error
|
||||
|
@ -297,7 +298,7 @@ func (m *Monitor) Diagnostics() (map[string]*Diagnostic, error) {
|
|||
|
||||
// createInternalStorage ensures the internal storage has been created.
|
||||
func (m *Monitor) createInternalStorage() {
|
||||
if m.storeCreated {
|
||||
if !m.MetaStore.IsLeader() || m.storeCreated {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ type mockMetastore struct{}
|
|||
func (m *mockMetastore) ClusterID() (uint64, error) { return 1, nil }
|
||||
func (m *mockMetastore) NodeID() uint64 { return 2 }
|
||||
func (m *mockMetastore) WaitForLeader(d time.Duration) error { return nil }
|
||||
func (m *mockMetastore) IsLeader() bool { return true }
|
||||
func (m *mockMetastore) SetDefaultRetentionPolicy(database, name string) error { return nil }
|
||||
func (m *mockMetastore) DropRetentionPolicy(database, name string) error { return nil }
|
||||
func (m *mockMetastore) CreateDatabaseIfNotExists(name string) (*meta.DatabaseInfo, error) {
|
||||
|
|
Loading…
Reference in New Issue