Issue
After upgrading Fusion from version 5.9.9 to 5.9.15, query pipelines fail to initialize. The system logs report an incompatible plugin version for the graph-security-trimming-stage-plugin.
The following error is observed in the logs:
ERROR [Thread-39:org.pf4j.AbstractPluginManager@190] - Incompatible plugin version. All query pipelines using its stages will not be available until the plugin built with the correct SDK version [2.0.0] is installed.
com.lucidworks.cloud.query.api.sdk.QueryStagePluginException: Incompatible plugin version. All query pipelines using its stages will not be available until the plugin built with the correct SDK version [2.0.0] is installed.Diagnosis
The issue occurs because Fusion 5.9.15 introduced a breaking change requiring all Index and Query Stage SDK plugins to be built using SDK version 2.0.0 and JDK 11. Legacy plugins built on earlier SDK versions are no longer compatible and prevent the entire query service from initializing correctly if they remain in the system.
Environment
Fusion: 5.9.15
Solr: 9.6.1
Platform: Kubernetes (AKS/Self-Hosted)
Affected Component: Query Service / Query Pipeline Stages
Cause
The
graph-security-trimming-stage-pluginwas a custom-built plugin that is now incompatible with the Fusion 5.9.15 Query SDK.Fusion 5.9.15 now includes a native, built-in
graph-security-trimmingstage, rendering the custom plugin redundant.Attempting to delete the plugin via the Fusion UI or the
query-stage-pluginendpoint may fail if the plugin is still being referenced or if the service is in a failed state.
Resolution
To resolve the initialization error, the incompatible custom plugin must be removed from the Fusion Blob Store and replaced with the native stage.
Step 1: Identify the Custom Blob
Locate the exact name of the custom plugin in your Blob Store using the Fusion API.
curl -u admin:password -X GET "http://proxy:8764/api/apps/<app_name>/blobs"Step 2: Delete the Incompatible Plugin
If the Fusion UI fails to delete the plugin, use the Blobs API to force removal. Replace <blob_id> with the filename of the plugin (e.g., graph-security-trimming-stage-plugin.zip).
curl -u admin:password -X DELETE "http://proxy:8764/api/apps/<app_name>/blobs/<blob_id>"Step 3: Transition to the Native Stage
Once the blob is deleted, update your Query Pipeline to use the built-in functionality.
Open the Query Pipeline in the Fusion UI.
Remove any stages associated with the old custom plugin.
Add the native
Graph Security Trimmingstage.Configure the stage parameters (e.g.,
Join Field,User Identity Source) to match your previous requirements.Save and Publish the pipeline.
Step 4: Rebuilding (Optional)
If your custom plugin contains proprietary logic not available in the native stage, you must rebuild the plugin using the Query SDK 2.0.0.
Update the
pom.xmlof your plugin project to use Fusion SDK version2.0.0.Ensure the project is compiled using JDK 11.
Re-upload the newly built JAR/ZIP to the Fusion Blob Store.