Skip to content

Improve dev XP on index create/update  #2370

@fmassot

Description

@fmassot

Currently, the dev XP is quite poor when a user needs to create an index or make some updates on one index.

I played a bit with Quickwit on a Kubernetes cluster and I'm just putting here my frustrations

Create an index

To create an index, I need to connect to the metastore pod which typically has the right env env variables to execute correctly a CLI command against the right database. Then I need to cp my local index config and source files on the pod and execute the right CLI commands.

Then I need to restart my indexers.

Update an index

  • update the max_merge_write_throughput
  • update max_num_partitions
  • update the merge policy
  • update the commit_timeout_secs
  • update retention policy (Index configuration update #4832)

All these modifications require to use of SQL queries to modify the index_metadata_json. Then I need to restart the indexers.

Possible solutions

For updates, we could provide a CLI command to update the index config (with some checks on some restrictions to avoid breaking everything). This solution has one drawback: we need to connect to the metastore pod which typically has the right env env variables to execute correctly a CLI command against the right database.

Another solution that could help on create/update could be to provide a REST endpoint and let the user restart the indexers if needed.

I have a preference for providing a REST endpoint... we always need to restart the indexers anyway :/ (we could poll the metastore on the indexer side to check if there are new indexes).
I know we will handle things correctly with the control place but for now, I think it is not so crazy to add the right endpoint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions