Template naming convention
All Fusion configset templates follow a naming convention that begins with_fusion_:
_fusion_default- Primary application collections_fusion_signals- Signals collections_fusion_query_rewrite- Query rewrite collections- Additional templates for specific Fusion features
Template ownership and versioning
Different Fusion deployment types may use different implementations of the same template. For example, the_fusion_default template in Lucidworks Search (managed Fusion) differs from the template in self-hosted Fusion deployments.
Each configset template includes a special _fusion_owner.txt file that identifies which Fusion component manages that template.
This file contains a single line identifying the owner, such as fusion-solr or fusion-solr-managed.
Purpose of _fusion_owner.txt
The ownership file serves two critical functions:
- Tracks template source: Identifies which docker image provided the configset template.
- Protects customizations: Prevents Fusion upgrades from overwriting customized configsets.
How templates work during installation and upgrades
When you install or upgrade Fusion, a bootstrap process copies configset templates from docker images into ZooKeeper, where Solr can access them. The bootstrap script (/opt/lucidworks/sync-configsets-with-zk.sh) follows these rules:
- Connects to ZooKeeper and creates a lock to prevent concurrent modifications.
- Loops through all configset templates in the docker image.
- For each template:
- If no configset exists in ZooKeeper with this name, the template is copied.
- If a configset already exists in ZooKeeper:
- Matching ownership: If the
_fusion_owner.txtfile matches, the template replaces the existing configset. - Mismatched ownership: If the
_fusion_owner.txtfile doesn’t match or is missing, the template is skipped and a warning is logged.
- Matching ownership: If the
This ownership check ensures that if you’ve customized a configset template and removed or modified its
_fusion_owner.txt file, Fusion upgrades won’t overwrite your changes.Customizing configset templates
If you need to customize a Fusion configset template for your self-hosted deployment:- Make your modifications to the configset in ZooKeeper.
- Either:
- Option A: Remove the
_fusion_owner.txtfile to prevent any future upgrades from replacing your customizations. - Option B: Modify the
_fusion_owner.txtfile to contain a different value (not matching the Fusion docker image owner).
- Option A: Remove the
Viewing template ownership
To check which component owns a configset template in your deployment:- Connect to ZooKeeper.
- Navigate to
/configs/<configset-name>/. - Read the contents of the
_fusion_owner.txtfile.
Troubleshooting
Warning: Configset skipped during upgrade
If you see warnings in the Fusion logs about skipped configsets during an upgrade, this indicates:- A configset exists in ZooKeeper with a template name (starting with
_fusion_). - The
_fusion_owner.txtfile is either missing or contains a value that doesn’t match the docker image.
Dry run mode
To preview what the bootstrap script would do without making changes, you can run it in dry run mode by setting theDRY_RUN environment variable to true.
The script will log all actions it would take without modifying ZooKeeper.