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

Reply via email to