Since some API calls, such as shard splitting, can take a long time and result in timeouts, we have the option of running a call asynchronously by specifying the async=<request_id> parameter in the URL. <request_id> is any ID that can be used to track the status of a particular API call. The request_id class and the status of the task are stored in ZooKeeper and can be retrieved using the REQUESTSTATUS action on the collections API.
We can delete and recreate catcollection using the following API calls or URLs:
http://solr1:8080/solr/admin/collections?action=DELETE&name=catcollection http://solr1:8080/solr/admin/collections?action=CREATE&name=catcollection&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=conf1&router.field=cat
catcollection can be populated using docs.csv file provided by the following command:
java -Dtype=text/csv -Durl=http://solr4:8080/solr/catcollection/update -jar post.jar docs.csv To perform splitting using the async parameter, execute the following command:
http://solr1:8080/solr/admin/collections?action=SPLITSHARD&collection=catcollection&split.key=books!&async=1111

We immediately get a response which just shows the requestid that we submitted. The status of the request can be checked by executing the following URL:
http://solr1:8080/solr/admin/collections?action=REQUESTSTATUS&requestid=1111

Here we can see that the status is marked as completed. These requests and their status are stored in ZooKeeper and are not cleaned up automatically. We can clean up the requests by passing requestid as -1:
http://solr1:8080/solr/admin/collections?action=REQUESTSTATUS&requestid=-1