gerlowskija opened a new pull request, #1458: URL: https://github.com/apache/solr/pull/1458
https://issues.apache.org/jira/browse/SOLR-16697 # Description Solr has a number of ways to restore indices into a SolrCloud collection, but these all come with a number of assumptions. Namely, that the entire collection is being restored, and that the data for the whole collection is located in a single place within a backup repository (usually in a special metadata-rich but complex format that enables incremental operations). Users who generate indices offline (using map-reduce or some other pipeline) tend not to meet these assumptions and thus can't use `/admin/collections?action=RESTORE`. We should give them a way to import their index files without needing to resort to `scp` or other manual file manipulation. # Solution This draft PR solves this problem by way of an "Install Shard" API. This API (`/POST /api/collections/collName/shards/shardName/install`) takes pointers to a Lucene index directory (located in some backup repository somewhere) and leverages existing restore code to install those files into the specific shard of the specified collection. Conceptually, it's taking functionality similar to that of the core-admin RESTORECORE API, albeit with a few differences: - it provides a much cleaner API suitable for end-users, exposed as a "Collection Admin" API - it makes use of the "read-only" flag to prevent updates to collections being restored - it uses the shard-term mechanism to ensure that other replicas of the specified shard replicate the installed data - it intentionally _doesn't_ support the "incremental" file format, as this API is a bit outside of that usecase. # Tests Automated tests still needed. # Checklist Please review the following and check all that apply: - [x] I have reviewed the guidelines for [How to Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms to the standards described there to the best of my ability. - [x] I have created a Jira issue and added the issue ID to my pull request title. - [x] I have given Solr maintainers [access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork) to contribute to my PR branch. (optional but recommended) - [x] I have developed this patch against the `main` branch. - [ ] I have run `./gradlew check`. - [ ] I have added tests for my changes. - [ ] I have added documentation for the [Reference Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org