Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-13722

Package Management APIs

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Invalid
    • None
    • None
    • None

    Description

      This ticket totally eliminates the need for an external service to host the jars. So a url will no longer be required. An external URL leads to unreliability because the service may go offline or it can be DDoSed if/when too many requests are sent to them

       

       
      Add a jar to cluster as follows

      curl -X POST -H 'Content-Type: application/octet-stream' --data-binary @myjar.jar http://localhost:8983/api/cluster/filestore/package?name=myjar.jar
      

      This does the following operations

      • Upload this jar to all the live nodes in the system
      • The name of the file is the sha256-<name> of the file/payload
      • The store is agnostic of the content of the file/payload

       How it works?

      A blob that is POSTed to the /api/cluster/blob end point is persisted locally & all nodes are instructed to download it from this node or from any other available node. If a node comes up later, it can query other nodes in the system and download the blobs as required

      add package command

      curl -X POST -H 'Content-type:application/json' --data-binary '{
        "add": {
             "name": "my-package" ,
            "file":{"id" : "<the-sha256>", "sig" : "<signature>"}
        }}' http://localhost:8983/api/cluster/package
      

      ]

       

       

      Attachments

        Activity

          People

            noble.paul Noble Paul
            noble.paul Noble Paul
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: