Commit 26728306 authored by Srikanth Chekuri's avatar Srikanth Chekuri
Browse files

chore: use channel to block until reader init

parent 41e66a73
Showing with 5 additions and 5 deletions
+5 -5
......@@ -144,7 +144,7 @@ func NewReader(localDB *sqlx.DB, configFile string) *ClickHouseReader {
}
}
func (r *ClickHouseReader) Start() {
func (r *ClickHouseReader) Start(readerReady chan bool) {
logLevel := promlog.AllowedLevel{}
logLevel.Set("debug")
// allowedFormat := promlog.AllowedFormat{}
......@@ -313,6 +313,7 @@ func (r *ClickHouseReader) Start() {
r.queryEngine = queryEngine
r.remoteStorage = remoteStorage
r.fanoutStorage = &fanoutStorage
readerReady <- true
if err := g.Run(); err != nil {
level.Error(logger).Log("err", err)
......
......@@ -77,18 +77,20 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) {
}
localDB.SetMaxOpenConns(10)
readerReady := make(chan bool)
var reader interfaces.Reader
storage := os.Getenv("STORAGE")
if storage == "clickhouse" {
zap.S().Info("Using ClickHouse as datastore ...")
clickhouseReader := clickhouseReader.NewReader(localDB, serverOptions.PromConfigPath)
go clickhouseReader.Start()
go clickhouseReader.Start(readerReady)
reader = clickhouseReader
} else {
return nil, fmt.Errorf("Storage type: %s is not supported in query service", storage)
}
<-readerReady
rm, err := makeRulesManager(serverOptions.PromConfigPath, constants.GetAlertManagerApiPrefix(), serverOptions.RuleRepoURL, localDB, reader, serverOptions.DisableRules)
if err != nil {
return nil, err
......
......@@ -32,9 +32,6 @@ func FromConfigPath(promConfigPath string) (*PqlEngine, error) {
}
func FromReader(ch interfaces.Reader) (*PqlEngine, error) {
for ch.GetFanoutStorage() == nil {
time.Sleep(1 * time.Second)
}
return &PqlEngine{
engine: ch.GetQueryEngine(),
fanoutStorage: *ch.GetFanoutStorage(),
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment