"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "solr/solr-ref-guide/src/package-manager-internals.adoc" between
solr-8.4.0-src.tgz and solr-8.4.1-src.tgz

About: Solr is the search platform from the Apache Lucene project. Its major features include full-text search, hit highlighting, faceted search, caching, replication, and a web admin interface.

package-manager-internals.adoc  (solr-8.4.0-src.tgz):package-manager-internals.adoc  (solr-8.4.1-src.tgz)
skipping to change at line 18 skipping to change at line 18
** Standard plugin concepts, e.g. query parser, search component, request handle r, URP etc., should be supported without any special code/packaging changes. ** Standard plugin concepts, e.g. query parser, search component, request handle r, URP etc., should be supported without any special code/packaging changes.
** Artifacts (jars containing custom plugins) that users have already deployed ( and are using in production) should be compatible, without needing to recompile or re-package, for greater adoption. ** Artifacts (jars containing custom plugins) that users have already deployed ( and are using in production) should be compatible, without needing to recompile or re-package, for greater adoption.
** Should support single jar packages as well as multiple jar packages. ** Should support single jar packages as well as multiple jar packages.
** Use familiar / standard naming ** Use familiar / standard naming
** Use industry standard concepts and terminology around package manager, simila r to those like apt, dnf, homebrew etc.s ** Use industry standard concepts and terminology around package manager, simila r to those like apt, dnf, homebrew etc.s
== Classloaders == Classloaders
At the heart of the system, we have classloader isolation. To achieve this, the system is simplified into two layered classloaders: At the heart of the system, we have classloader isolation. To achieve this, the system is simplified into two layered classloaders:
The root classloader which has all the jars from Solr classpath. This requires S olr node restart to change anything. The root classloader which has all the jars from Solr classpath. This requires S olr node restart to change anything.
A set of named classloaders that inherit from the root classloader. The life cyc les of the named classloaders are tied to the package configuration in ZK. As so on as the configuration is modified, the corresponding classloaders are reloaded and components are asked to reload. A set of named classloaders that inherit from the root classloader. The life cyc les of the named classloaders are tied to the package configuration in ZooKeeper . As soon as the configuration is modified, the corresponding classloaders are r eloaded and components are asked to reload.
== Package Loading Security == Package Loading Security
Packages are disabled by default. Start all your nodes with the system property `-Denable.packages=true` to use this feature. Packages are disabled by default. Start all your nodes with the system property `-Denable.packages=true` to use this feature.
*Example* *Example*
[source,bash] [source,bash]
---- ----
$ bin/solr -c -Denable.packages=true $ bin/solr -c -Denable.packages=true
---- ----
=== Upload Your Keys === Upload Your Keys
Package binaries must be signed with your private keys and ensure your public ke ys are published in ZooKeeper. Package binaries must be signed with your private keys and ensure your public ke ys are published in package store's trusted store.
*Example* *Example*
[source,bash] [source,bash]
---- ----
$ openssl genrsa -out my_key.pem 512 $ openssl genrsa -out my_key.pem 512
# create the public key in .der format # create the public key in .der format
$ openssl rsa -in my_key.pem -pubout -outform DER -out my_key.der $ openssl rsa -in my_key.pem -pubout -outform DER -out my_key.der
# upload to ZooKeeper # upload key to package store
$ server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd makepath /ke $ bin/solr package add-key my_key.der
ys/exe/
$ server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 -cmd putfile /key
s/exe/my_key.der my_key.der
---- ----
== Package Store == Package Store
Package store is a distributed file store which can store arbitrary files in the file system. Package store is a distributed file store which can store arbitrary files in the file system.
* This is a fully replicated file system based repository. * This is a fully replicated file system based repository.
* It lives at <solr.home>/filestore on each Solr node * It lives at <solr.home>/filestore on each Solr node
* Every entry is a file + metadata. The metadata is named .<filename>.json * Every entry is a file + metadata. The metadata is named .<filename>.json
* The metadata file contains the sha256, signatures of the file * The metadata file contains the sha256, signatures of the file
* Users can’t create files starting with period (.) * Users can’t create files starting with period (.)
 End of changes. 3 change blocks. 
7 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)