Merge pull request #8488 from pstibrany/pass-queryable-and-appendable-explicitly

Split queryable and appendable arguments in api_v1.NewAPI.
This commit is contained in:
Julien Pivotto 2021-02-15 13:11:30 +01:00 committed by GitHub
commit 6f488061df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 7 deletions

View file

@ -205,7 +205,8 @@ func init() {
// NewAPI returns an initialized API type.
func NewAPI(
qe *promql.Engine,
s storage.Storage,
q storage.SampleAndChunkQueryable,
ap storage.Appendable,
tr func(context.Context) TargetRetriever,
ar func(context.Context) AlertmanagerRetriever,
configFunc func() config.Config,
@ -224,11 +225,10 @@ func NewAPI(
runtimeInfo func() (RuntimeInfo, error),
buildInfo *PrometheusVersion,
gatherer prometheus.Gatherer,
remoteWriteReceiver bool,
) *API {
a := &API{
QueryEngine: qe,
Queryable: s,
Queryable: q,
targetRetriever: tr,
alertmanagerRetriever: ar,
@ -252,8 +252,8 @@ func NewAPI(
gatherer: gatherer,
}
if remoteWriteReceiver {
a.remoteWriteHandler = remote.NewWriteHandler(logger, s)
if ap != nil {
a.remoteWriteHandler = remote.NewWriteHandler(logger, ap)
}
return a

View file

@ -298,7 +298,12 @@ func New(logger log.Logger, o *Options) *Handler {
factoryAr := func(_ context.Context) api_v1.AlertmanagerRetriever { return h.notifier }
FactoryRr := func(_ context.Context) api_v1.RulesRetriever { return h.ruleManager }
h.apiV1 = api_v1.NewAPI(h.queryEngine, h.storage, factoryTr, factoryAr,
var app storage.Appendable
if o.RemoteWriteReceiver {
app = h.storage
}
h.apiV1 = api_v1.NewAPI(h.queryEngine, h.storage, app, factoryTr, factoryAr,
func() config.Config {
h.mtx.RLock()
defer h.mtx.RUnlock()
@ -323,7 +328,6 @@ func New(logger log.Logger, o *Options) *Handler {
h.runtimeInfo,
h.versionInfo,
o.Gatherer,
o.RemoteWriteReceiver,
)
if o.RoutePrefix != "/" {