apache / apache/solr-operator

Feature: Create a custom resource to manage solr configset

Open
#59 0 comments 14 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
283
Forks
148
PR merge metrics
No merged PRs in 30d

Description

Feature:

Currently there is no way to upload configset for a solrcloud created using SolrCloud resource.

It would be nice if configsets for solrclouds are also managed by the solr-operator

Current Alternative:

Currently we are using https://lucene.apache.org/solr/guide/8_2/configsets-api.html solr api to upload a configset. One big limitation with the solr configs-api is that it is not possible to update an existing configset previously uploaded. Workaround is to create a new configset and reload collections to use the new configset as described here - https://dev.lucene.apache.narkive.com/HI7lTF0o/jira-created-solr-12925-configsets-api-should-allow-update-of-existing-configset#post4

It is possible to upload configset directly to zookeeper. However, we would need a zookeeper library in golang which is capable of uploading a config folder to a zookeeper instance. using solj library which is written in java.

The best zk client/sdk in golang seems to be https://github.com/samuel/go-zookeeper/tree/master/zk but from the initial looks it does not seem like it has capability to upload config to zookeeper.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing SolrCloud resource and operator design, then compare the Solr Configsets API with the go-zookeeper client mentioned in the issue. Done means defining and implementing a custom resource that lets the operator upload and update configsets for managed SolrCloud instances.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.