quickwit icon indicating copy to clipboard operation
quickwit copied to clipboard

Add control plane first stone: a gRPC metastore service.

Open fmassot opened this issue 1 year ago • 2 comments

Description

Add a metastore service with 2 implementations:

  • One backed by a Metastore instance.
  • One backed by a gRPC client.

Important note

The PR still needs a lot of cleaning and testing but I think the API is good so ready to have some feedback about the API.

fmassot avatar Aug 01 '22 22:08 fmassot

Is there a ticket that covers the design and reason for introducing the control plane service type and the plans for what it will solve? It looks like it's mirroring the metastore APIs, is it intended that nodes will talk to this service instead of talking to the metastore directly? Is it intended to be stateless? Will it be expected that you run more than one?

I know there's talk about having the merge planner run in this plane, what else is envisioned to live here?

kstaken avatar Aug 01 '22 23:08 kstaken

@kstaken some short answers so that you know a bit what's going on there:

Is there a ticket that covers the design and reason for introducing the control plane service type and the plans for what it will solve?

yes I will document that very soon (hopefully by next week)

It looks like it's mirroring the metastore APIs, is it intended that nodes will talk to this service instead of talking to the metastore directly? Is it intended to be stateless? Will it be expected that you run more than one?

Yes, this is correct. For the moment the plan is to have indexers making calls to the control plane that reads/writes to the metastore. In the end, we will need to ensure the high availability of the control plane but that subject will be tackled later.

I know there's talk about having the merge planner run in this plane, what else is envisioned to live here?

We will run the merge planner there indeed. We will also handle indexing scheduling to decide which node should index a given (source_id, set of partition_ids). The solution should obviously work well with indexing with Kafka consumers.

There is an open issue #1208 but I need to add there the current plan.

fmassot avatar Aug 02 '22 19:08 fmassot

Closing this old PR which is replaced by https://github.com/quickwit-oss/quickwit/pull/1853

fmassot avatar Aug 15 '22 21:08 fmassot