> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fusion 5.9.10

> February 20, 2025

[localhost link]: http://localhost:3000/docs/5/fusion/release-notes/5.9.10-release-notes

[mintlify link]: https://doc.lucidworks.com/docs/5/fusion/release-notes/5.9.10-release-notes

[old doc.lw link]: https://doc.lucidworks.com/fusion/5.9/kf2gbd

Fusion 5.9.10 is a [maintenance release](/docs/policies/lifecycle-policies/lw-version-support-lifecycle#maintenance-release-support-policy) that introduces enhanced capabilities for Neural Hybrid Search, that improve search relevance for ecommerce by intelligently blending semantic and lexical signals and optimizing result collapsing.
Support for Kubernetes 1.31 boosts container security and operational reliability, while the Spark 3.4.1 upgrade accelerates data processing and analytics.
Additional security updates and the new Apps Manager API strengthen system protection and give better visibility into licensing and usage.
Collectively, these improvements drive more accurate search, faster data workflows, and a more secure, stable platform—delivering clear business value across search, infrastructure, and data operations.

<Danger>
  **Security patch available for api-gateway: Netty request smuggling vulnerabilities**

  A patch is available for the `api-gateway` service to address critical Netty request smuggling vulnerabilities (CVE-2026-42581, CVE-2026-42585, CVE-2026-42587). These vulnerabilities allow attackers to smuggle HTTP requests through the gateway, potentially bypassing security controls.

  <Accordion title="Instructions for applying the patch">
    The `api-gateway` service requires the Netty security patch.

    Follow these steps to apply the patched image:

    1. Open your Fusion Helm values file.

    2. Add or update the `api-gateway` image configuration:

       ```yaml theme={"dark"}
       api-gateway:
         image:
           repository: lucidworks
           name: api-gateway
           tag: 5.9.10-SUST-1634-patch
           imagePullPolicy: IfNotPresent
       ```

    3. Save the values file.

    4. For Fusion Cloud Native deployments, run the `upgrade_fusion.sh` script you used for your current deployment. For Helm deployments, run:

       ```bash theme={"dark"}
       helm upgrade --namespace NAMESPACE RELEASE_NAME PATH_TO_VALUES
       ```

       Replace `NAMESPACE` with your Kubernetes namespace, `RELEASE_NAME` with your Helm release name, and `PATH_TO_VALUES` with the path to your updated values file.

    5. Wait for the `api-gateway` pods to restart and verify they are using the patched image.
  </Accordion>
</Danger>

<Danger>
  **Urgent action required by November 26, 2025**

  A patch is required by November 26, 2025 for all self-hosted Fusion deployments running on Amazon Elastic Kubernetes Service (EKS). Certain Java versions used by Fusion components reach end of life on this date. Failure to apply the patch will result in compatibility issues.

  <Accordion title="Instructions for applying the patch">
    The following Fusion services require the `cgroupv2` patch:

    | Service          | Affected Fusion versions | Patch tag                                      |
    | ---------------- | ------------------------ | ---------------------------------------------- |
    | `insights`       | 5.9.4 to 5.9.15          | `lucidworks/insights:5.9-cgroupv2-patch`       |
    | `spark-solr-etl` | 5.9.4 to 5.9.11          | `lucidworks/spark-solr-etl:5.9-cgroupv2-patch` |
    | `keytool-utils`  | 5.9.4 to 5.9.10          | `lucidworks/keytool-utils:5.9-cgroupv2-patch`  |

    Follow these steps to apply the patched images:

    1. Open your Fusion Helm values file. For Fusion Cloud Native deployments, use the values file for your current deployment. For Helm deployments, use the values file you used to create the deployment.

    2. For each service listed in the following table that applies to your Fusion version, add or update the image configuration:

    <Tabs>
      <Tab title="Fusion 5.9.4 to 5.9.10">
        <Tip>Expand the following code snippet for the complete image configuration list.</Tip>

        ```yaml expandable theme={"dark"}
        global:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        sql-service:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        reverse-search:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        solr:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"
          zookeeper:
            keytoolUtils:
              image:
                repository: lucidworks
                name: "keytool-utils"
                tag: "5.9-cgroupv2-patch"
                imagePullPolicy: "IfNotPresent"

        kafka:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        zookeeper:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        ml-model-service:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        fusion-admin:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        fusion-indexing:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        query-pipeline:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"  

        async-parsing:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        admin-ui:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        api-gateway:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        auth-ui:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        classic-rest-service:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        fusion-resources:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        job-config:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        insights:
          image:
            imagePullPolicy: Always
            name: insights
            repository: lucidworks
            tag: 5.9-cgroupv2-patch
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        job-launcher:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        job-rest-server:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        connectors:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        connector-plugin:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        connectors-backend:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        rules-ui:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        pm-ui:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        lwai-gateway:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        webapps:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        apps-manager:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        templating:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        tikaserver:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        argo:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        seldon-core-operator:
          keytoolUtils:
            image:
              repository: lucidworks
              name: "keytool-utils"
              tag: "5.9-cgroupv2-patch"
              imagePullPolicy: "IfNotPresent"

        argo-common-workflows:
          image:
            imagePullPolicy: Always
            repository: lucidworks
            sparkSolrEtlTag: 5.9-cgroupv2-patch
            utilitiesTag: 5.9.11
        ```
      </Tab>

      <Tab title="Fusion 5.9.11">
        ```yaml theme={"dark"}
        insights:
          image:
            name: insights
            pullPolicy: IfNotPresent
            repository: lucidworks
            tag: 5.9-cgroupv2-patch

        argo-common-workflows:
          image:
            imagePullPolicy: IfNotPresent
            repository: lucidworks
            sparkSolrEtlTag: 5.9-cgroupv2-patch
        ```
      </Tab>

      <Tab title="Fusion 5.9.12 to 5.9.15">
        ```yaml theme={"dark"}
        insights:
          image:
            name: insights
            pullPolicy: IfNotPresent
            repository: lucidworks
            tag: insights:5.9-cgroupv2-patch
        ```
      </Tab>
    </Tabs>

    3. Save the values file.

    4. For Fusion Cloud Native deployments, run the `upgrade_fusion.sh` script you used for your current deployment. For Helm deployments, run the following command:

       ```bash theme={"dark"}
       helm upgrade --namespace NAMESPACE RELEASE_NAME PATH_TO_VALUES
       ```

       <Tip>Replace `NAMESPACE` with your Kubernetes namespace. Replace `RELEASE_NAME` with your Helm release name. Replace `PATH_TO_VALUES` with the path to your updated values file.</Tip>

    5. Wait for the affected service pods to restart and verify they are using the patched images.
  </Accordion>
</Danger>

<Tip>
  **Looking to upgrade?**

  See [Fusion 5 Upgrades](/docs/5/fusion/operations/fusion-5-upgrades) for detailed instructions.
</Tip>

For supported Kubernetes versions and key component versions, see [Platform support and component versions](#component-versions).

## What’s new

### Improved relevance with Neural Hybrid Search

Fusion 5.9.10 introduces the Neural Hybrid Query stage, enhancing Neural Hybrid Search (NHS) by refining how semantic and lexical scores are combined in search ranking.
This new stage works with Lucidworks AI to ensure that result collapsing and final ranking use a unified scoring approach, leading to more precise and consistent search results—especially in ecommerce, where selecting the most relevant SKU for a product is critical.

Key benefits include:

* **Smarter relevance ranking:** Combines semantic and lexical signals earlier for more accurate ordering.
* **Optimized result collapsing:** Ensures the best representative item is selected before final ranking.
* **Broad applicability:** Enhances search performance in ecommerce and other scenarios that use result collapsing.

The [Neural Hybrid Query stage](/docs/5/fusion/reference/config-ref/pipeline-stages/query-stages/neural-hybrid-query) differs from the [Hybrid Query stage](/docs/5/fusion/reference/config-ref/pipeline-stages/query-stages/hybrid-search-query) in a few ways. The new stage contains the following new fields:

* **Lexical Query Squash Factor** lets you input a value that squashes the lexical query scores from `0..inf` to `0..1`. This setting helps prevent the lexical query from dominating the final score.
* **Compute Vector Similarity for Lexical-Only Matches** computes vector similarity scores for documents found in lexical search results, but not in the initial vector search results. This setting can rescue orphaned nodes by finding docs which match lexically but are not in the vector results, and compute the vector similarity score for those.

<img src="https://mintcdn.com/lucidworks/VKnUHJXP6sWH55ak/assets/images/5.9/5.9.10/neural-hybrid-query-stage.png?fit=max&auto=format&n=VKnUHJXP6sWH55ak&q=85&s=b55d7116f44276f39a353999dd0c11d7" alt="Neural Hybrid Query stage" width="2600" height="1898" data-path="assets/images/5.9/5.9.10/neural-hybrid-query-stage.png" />

This update provides a more intelligent hybrid search experience, improving relevance across a range of search applications.

### Support for Kubernetes 1.31

Fusion 5.9.10 introduces support for Kubernetes 1.31, bringing enhanced security, improved resource management, and better networking reliability.
This update strengthens container security, improves how custom resources are managed and filtered, and enhances the reliability of `kubectl` operations like `exec` and `port-forward`, especially in complex network environments.
By upgrading to Fusion 5.9.10, you can take full advantage of Kubernetes 1.31’s advancements for stronger security, streamlined resource handling, and improved system stability.

### Expanded support for read-only file system

Fusion 5.9.11 completes support for the read-only root file system feature across all Fusion services, strengthening protection against unauthorized changes and improving security posture in hardened environments.

All services can now be configured to run in read-only mode using Helm values, with writable mounts available for components that require write access.

To learn more, including which services have this feature enabled by default, see
**Enable Read-Only Root File System**.

<Accordion title="Enable Read-Only Root File System">
  This topic describes how to configure a read-only root file system for a Fusion deployment.
  Read-only mode safeguards your file system against unauthorized changes, such as by malicious software or other attacks.
  Enabling this feature entails configuring the `readOnlyRootFilesystem` attribute in the Fusion Helm chart.

  <Note>This feature is available starting in Fusion 5.9.9 and in all subsequent Fusion 5.9 releases.</Note>

  Beginning with Fusion 5.9.10, all of [Fusion’s services](/docs/5/fusion/reference/microservices) are designed to work with a read-only root file system, but some external services may require write access to the file system.
  In that case, you can configure a read-only root file system and mount a separate writable file system for these services.

  The examples below show how to configure a read-only root file system for various Fusion services.

  ## Solr

  ```yaml theme={"dark"}
  fusion:
    solr:
      containerSecurityContext:
        readOnlyRootFilesystem: true
  ```

  **With optional services:**

  ```yaml theme={"dark"}
  fusion:
    solr:
      exporter:
        enabled: true
        securityContext:
          readOnlyRootFilesystem: true
      containerSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## Zookeeper

  ```yaml theme={"dark"}
  fusion:
    zookeeper:
      containerSecurityContext:
        readOnlyRootFilesystem: true
  ```

  **With optional services:**

  ```yaml theme={"dark"}
  fusion:
    zookeeper:
      containerSecurityContext:
        readOnlyRootFilesystem: true
      exporters:
        jmx:
          enabled: true
        zookeeper:
          enabled: true
      jobs:
        chroots:
          enabled: true
          config:
            create:
              - /root-read-only
  ```

  ## Kafka

  ```yaml theme={"dark"}
  fusion:
    kafka:
      containerSecurityContext:
        readOnlyRootFilesystem: true
  ```

  **With optional services:**

  ```yaml expandable theme={"dark"}
  fusion:
    kafka:
      containerSecurityContext:
        readOnlyRootFilesystem: true
      volumePermissions:
        enabled: true
        containerSecurityContext:
          readOnlyRootFilesystem: true
      metrics:
        kafka:
          containerSecurityContext:
            readOnlyRootFilesystem: true
            enabled: true
        jmx:
          enabled: true
          containerSecurityContext:
            enabled: true
            readOnlyRootFilesystem: true
      externalAccess:
        enabled: true
        autoDiscovery:
          enabled: true
          containerSecurityContext:
            enabled: true
            readOnlyRootFilesystem: true
      provisioning:
        enabled: true
        topics:
        - name: test
          partitions: 1
          replicationFactor: 1
          ## https://kafka.apache.org/documentation/#topicconfigs
          config:
            max.message.bytes: 64000
            flush.messages: 1
        containerSecurityContext:
          readOnlyRootFilesystem: true
          enabled: true
  ```

  ## ML Model Service

  ```yaml expandable theme={"dark"}
  fusion:
    ml-model-service:
      ambassador:
        containerSecurityContext:
          readOnlyRootFilesystem: true
      milvus:
        mysql:
          containerSecurityContext:
            readOnlyRootFilesystem: true
        securityContext:
          readOnlyRootFilesystem: true
  With optional services:
  fusion:
    ml-model-service:
      ambassador:
        containerSecurityContext:
          readOnlyRootFilesystem: true
        prometheusExporter:
          enabled: true
          securityContext:
            readOnlyRootFilesystem: true
      milvus:
        mysql:
          metrics:
            enabled: true
            securityContext:
              readOnlyRootFilesystem: true
          containerSecurityContext:
            readOnlyRootFilesystem: true
        cluster:
          enabled: false
        mishards:
          securityContext:
            readOnlyRootFilesystem: true
        admin:
          enabled: true
          securityContext:
            readOnlyRootFilesystem: true
        securityContext:
          readOnlyRootFilesystem: true
  ```

  ## Argo

  ```yaml theme={"dark"}
  fusion:
    argo:
      minio:
        containerSecurityContext:
          readOnlyRootFilesystem: true
        extraVolumes:
          - name: config-dir
            emptyDir: {}
          - name: certs-dir
            emptyDir: {}
        extraVolumeMounts:
          - name: config-dir
            mountPath: /.minio
          - name: certs-dir
            mountPath: /etc/minio/certs
      server:
        securityContext:
          readOnlyRootFilesystem: true
      controller:
        securityContext:
          readOnlyRootFilesystem: true
      mainContainer:
        securityContext:
          readOnlyRootFilesystem: true
      executor:
        securityContext:
          readOnlyRootFilesystem: true
  ```

  ## Seldon Core Operator

  ```yaml theme={"dark"}
  fusion:
    seldon-core-operator:
      containersSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## Argo Common Workflows

  ```yaml theme={"dark"}
  fusion:
    argo-common-workflows:
      containerSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## Question Answering

  ```yaml theme={"dark"}
  fusion:
    question-answering:
      containersSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## Classification

  ```yaml theme={"dark"}
  fusion:
    classification:
      containersSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## All-in-one values.yaml example

  ```yaml expandable theme={"dark"}
  fusion:
    solr:
      containerSecurityContext:
        readOnlyRootFilesystem: true
    solr-managed:
      containerSecurityContext:
        readOnlyRootFilesystem: true
    zookeeper:
      containerSecurityContext:
        readOnlyRootFilesystem: true
    kafka:
      containerSecurityContext:
        readOnlyRootFilesystem: true
    ml-model-service:
      ambassador:
        containerSecurityContext:
          readOnlyRootFilesystem: true
      milvus:
        mysql:
          containerSecurityContext:
            readOnlyRootFilesystem: true
        securityContext:
          readOnlyRootFilesystem: true
    argo:
      minio:
        containerSecurityContext:
          readOnlyRootFilesystem: true
        extraVolumes:
          - name: config-dir
            emptyDir: {}
          - name: certs-dir
            emptyDir: {}
        extraVolumeMounts:
          - name: config-dir
            mountPath: /.minio
          - name: certs-dir
            mountPath: /etc/minio/certs
      server:
        securityContext:
          readOnlyRootFilesystem: true
      controller:
        securityContext:
          readOnlyRootFilesystem: true
      mainContainer:
        securityContext:
          readOnlyRootFilesystem: true
      executor:
        securityContext:
          readOnlyRootFilesystem: true
    seldon-core-operator:
      containersSecurityContext:
        readOnlyRootFilesystem: true
    argo-common-workflows:
      containerSecurityContext:
        readOnlyRootFilesystem: true
    question-answering:
      containersSecurityContext:
        readOnlyRootFilesystem: true
    classification:
      containersSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## All-in-one values.yaml with optional services example

  ```yaml expandable theme={"dark"}
  fusion:
    argo:
      minio:
        persistence:
          enabled: false
        containerSecurityContext:
          readOnlyRootFilesystem: true
        extraVolumes:
          - name: config-dir
            emptyDir: {}
          - name: certs-dir
            emptyDir: {}
        extraVolumeMounts:
          - name: config-dir
            mountPath: /.minio
          - name: certs-dir
            mountPath: /etc/minio/certs
      server:
        securityContext:
          readOnlyRootFilesystem: true
      controller:
        securityContext:
          readOnlyRootFilesystem: true
      mainContainer:
        securityContext:
          readOnlyRootFilesystem: true
      executor:
        securityContext:
          readOnlyRootFilesystem: true
    solr:
      exporter:
        enabled: true
        securityContext:
          readOnlyRootFilesystem: true
      containerSecurityContext:
        readOnlyRootFilesystem: true
      # tls:
      #   enabled: true
    solr-managed:
      exporter:
        enabled: true
        securityContext:
          readOnlyRootFilesystem: true
      enableExternalFiles: true
      enabledStorage:
      - gcs
      processRaw:
        image:
          repository: fusion-dev-docker.ci-artifactory.lucidworks.com
        cloudRoot: gs://lw-managed-fusion-data/tmp
        gcs:
          secret: gcs-key
          secretFieldName: key.json
        securityContext:
          readOnlyRootFilesystem: true
      containerSecurityContext:
        readOnlyRootFilesystem: true
      # tls:
      #   enabled: true
    zookeeper:
      containerSecurityContext:
        readOnlyRootFilesystem: true
      exporters:
        jmx:
          enabled: true
        zookeeper:
          enabled: true
      jobs:
        chroots:
          # enabled: true
          config:
            create:
              - /root-read-only
    kafka:
      containerSecurityContext:
        readOnlyRootFilesystem: true
      volumePermissions:
        enabled: true
        image:
          repository: "fusion-dev-docker.ci-artifactory.lucidworks.com/os-shell"
        containerSecurityContext:
          readOnlyRootFilesystem: true
      metrics:
        kafka:
          containerSecurityContext:
            readOnlyRootFilesystem: true
            enabled: true
        jmx:
          enabled: true
          containerSecurityContext:
            enabled: true
            readOnlyRootFilesystem: true
      externalAccess:
        enabled: true
        autoDiscovery:
          enabled: true
          containerSecurityContext:
            enabled: true
            readOnlyRootFilesystem: true
      provisioning:
        enabled: true
        topics:
        - name: test
          partitions: 1
          replicationFactor: 1
          ## https://kafka.apache.org/documentation/#topicconfigs
          config:
            max.message.bytes: 64000
            flush.messages: 1
        containerSecurityContext:
          readOnlyRootFilesystem: true
          enabled: true
    ml-model-service:
      enabled: true
      ambassador:
        containerSecurityContext:
          readOnlyRootFilesystem: true
        prometheusExporter:
          enabled: true
          securityContext:
            readOnlyRootFilesystem: true
      milvus:
        mysql:
          metrics:
            enabled: true
            securityContext:
              readOnlyRootFilesystem: true
          containerSecurityContext:
            readOnlyRootFilesystem: true
        cluster:
          enabled: false
        mishards:
          securityContext:
            readOnlyRootFilesystem: true
        admin:
          enabled: true
          securityContext:
            readOnlyRootFilesystem: true
        securityContext:
          readOnlyRootFilesystem: true
    seldon-core-operator:
      containersSecurityContext:
        readOnlyRootFilesystem: true
    argo-common-workflows:
      containerSecurityContext:
        readOnlyRootFilesystem: true
    question-answering:
      containersSecurityContext:
        readOnlyRootFilesystem: true
    classification:
      containersSecurityContext:
        readOnlyRootFilesystem: true
  ```

  ## Supported services

  The table below lists the services that support a read-only root file system, the ones that have it enabled by default, and the Fusion release in which support was added:

  | Chart Name                    | Pod Name                                                         | Container Name                    | Supported | Default enabled | Supported version |
  | ----------------------------- | ---------------------------------------------------------------- | --------------------------------- | --------- | --------------- | ----------------- |
  | admin-ui                      | admin-ui                                                         | admin-ui                          | ✅         | ✅               | 5.9.9+            |
  | api-gateway                   | api-gateway                                                      | init/api-gateway                  | ✅         | ✅               | 5.9.9+            |
  | api-gateway                   | api-gateway                                                      | api-gateway                       | ✅         | ✅               | 5.9.9+            |
  | api-gateway                   | api-gateway                                                      | generate-jks                      | ✅         | ✅               | 5.9.9+            |
  | apps-manager                  | apps-manager                                                     | apps-manager                      | ✅         | ✅               | 5.9.9+            |
  | argo                          | argo-server                                                      | argo-server                       | ✅         | ❌               | 5.9.10+           |
  | argo                          | argo-executor                                                    | executor                          | ✅         | ❌               | 5.9.10+           |
  | argo                          | argo-mainContainer                                               | mainContainer                     | ✅         | ❌               | 5.9.10+           |
  | argo                          | argo-controller                                                  | controller                        | ✅         | ✅               | 5.9.10+           |
  | argo/minio                    | minio                                                            | minio                             | ✅         | ❌               | 5.9.10+           |
  | argo/minio                    | minio                                                            | minio                             | ✅         | ❌               | 5.9.10+           |
  | argo/minio                    | make-bucket-job                                                  | minio-mc                          | ✅         | ❌               | 5.9.10+           |
  | argo-common-workflows         | delete-model                                                     | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | argo-common-workflows         | deploy-model                                                     | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | argo-common-workflows         | milvus-maintenance                                               | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | argo-common-workflows         | upload-model-to-cloud                                            | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | async-parsing                 | async-parsing                                                    | tika-server                       | ✅         | ✅               | 5.9.9+            |
  | async-parsing                 | async-parsing                                                    | async-parsing                     | ✅         | ✅               | 5.9.9+            |
  | auth-ui                       | auth-ui                                                          | auth-ui                           | ✅         | ✅               | 5.9.9+            |
  | classic-rest-service          | classic-rest-service                                             | init/import-certs                 | ✅         | ✅               | 5.9.10+           |
  | classic-rest-service          | classic-rest-service                                             | classic-rest-service              | ✅         | ✅               | 5.9.9+            |
  | classification                | argo/classification                                              | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | connector-plugin              | connector-plugin                                                 | init/import-certs                 | ✅         | ❌               | 5.9.10+           |
  | connector-plugin              | connector-plugin                                                 | connector-plugin                  | ✅         | ✅               | 5.9.9+            |
  | connectors                    | connectors                                                       | connectors                        | ✅         | ✅               | 5.9.9+            |
  | connectors-backend            | CRD                                                              |                                   | ✅         | ✅               | 5.9.9+            |
  | connectors-backend            | connectors-backend                                               | connectors-backend                | ✅         | ✅               | 5.9.9+            |
  | fusion-admin                  | fusion-admin                                                     | admin                             | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-admin                       | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-api-gateway                 | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-indexing                    | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-kafka                       | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-logstash                    | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-pulsar                      | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | setup-keystore-and-properties     | ✅         | ✅               | 5.9.9+            |
  | fusion-commons                |                                                                  | check-zk                          | ✅         | ✅               | 5.9.9+            |
  | fusion-config-sync            | fusion-config-sync                                               | fusion-config-sync                | ✅         | ✅               | 5.9.9+            |
  | fusion-data-augmentation      | argo/data-augmentation/volume-fix                                | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/init-workspace                            | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/write-job-configs                         | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/write-io-configs                          | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/add-zkhost                                | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/pull-data-training-and-metadata           | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/pull-data-training-and-metadata-cloud     | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/volume-fix2                               | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/synonym-list                              | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/download-synonym-dictionary               | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/keystroke-list                            | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/download-keystroke-blob                   | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/augment                                   | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/push-augmented-data                       | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-data-augmentation      | argo/data-augmentation/push-augmented-data-cloud                 | init/main/wait                    | ✅         | ❌               | 5.9.10+           |
  | fusion-indexing               | fusion-indexing                                                  | fusion-indexing                   | ✅         | ✅               | 5.9.9+            |
  | fusion-resources              | fusion-resources-secret-hook                                     | setup-keystore-and-properties     | ✅         | ✅               | 5.9.10+           |
  | insights                      | insights                                                         | insights                          | ✅         | ✅               | 5.9.9+            |
  | job-launcher                  | job-launcher                                                     | job-launcher                      | ✅         | ✅               | 5.9.9+            |
  | job-launcher                  | job-launcher                                                     | kubectl-runner                    | ✅         | ✅               | 5.9.9+            |
  | job-launcher                  | job-launcher-spark-cleanup                                       | kubectl-runner                    | ✅         | ✅               | 5.9.9+            |
  | job-launcher                  | spark-kubernetes-driver                                          | spark-kubernetes-driver           | ✅         | ❌               | 5.9.10+           |
  | job-launcher                  | spark-kubernetes-executor                                        | spark-kubernetes-executor         | ✅         | ❌               | 5.9.10+           |
  | job-rest-server               | job-rest-server                                                  | job-rest-server                   | ✅         | ✅               | 5.9.9+            |
  | kafka                         | kafka-metrics                                                    | kafka-exporter-archived           | ✅         | ❌               | 5.9.10+           |
  | kafka                         | kafka-provisioning                                               | init/wait-for-available-kafka     | ✅         | ❌               | 5.9.10+           |
  | kafka                         | kafka-provisioning                                               | kafka-provisioning                | ✅         | ❌               | 5.9.10+           |
  | kafka                         | kafka                                                            | kafka                             | ✅         | ❌               | 5.9.10+           |
  | kafka                         | kafka                                                            | jmx-exporter                      | ✅         | ❌               | 5.9.10+           |
  | kafka                         | kafka                                                            | init/check-zk                     | ✅         | ✅               | 5.9.9+            |
  | kafka                         | kafka                                                            | init/auto-discovery               | ✅         | ❌               | 5.9.10+           |
  | kafka                         | kafka                                                            | init/volume-permissions           | ✅         | ❌               | 5.9.10+           |
  | lwai-gateway                  | lwai-gateway                                                     | lwai-gateway                      | ✅         | ✅               | 5.9.9+            |
  | ml-model-service              | ml-model-service                                                 | java-service                      | ✅         | ✅               | 5.9.9+            |
  | ml-model-service              | ml-model-service-namespace-hook                                  | kubectl-runner                    | ✅         | ✅               | 5.9.9+            |
  | ml-model-service/ambassador   | ambassador                                                       | ambassador                        | ✅         | ❌               | 5.9.10+           |
  | ml-model-service/ambassador   | ambassador                                                       | prometheus-exporter               | ✅         | ❌               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-writable                                                  | milvus                            | ✅         | ❌               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-writable                                                  | init/wait-for-mysql               | ✅         | ✅               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-writable                                                  | init/create-for-share-storage     | ✅         | ❌               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-admin                                                     | admin                             | ✅         | ❌               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-admin                                                     | init/wait-for-milvus              | ✅         | ✅               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-mishards                                                  | init/wait-for-mysql               | ✅         | ✅               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-mishards                                                  | init/wait-for-mysql               | ✅         | ✅               | 5.9.10+           |
  | ml-model-service/milvus       | milvus-mishards                                                  | mishards                          | ✅         | ❌               | 5.9.10+           |
  | ml-model-service/milvus/mysql | mysql                                                            | init/remove-lost-found            | ✅         | ✅               | 5.9.10+           |
  | ml-model-service/milvus/mysql | mysql                                                            | mysql                             | ✅         | ❌               | 5.9.10+           |
  | pm-ui                         | pm-ui                                                            | pm-ui                             | ✅         | ✅               | 5.9.9+            |
  | query-pipeline                | query-pipeline                                                   | query-pipeline                    | ✅         | ✅               | 5.9.9+            |
  | question-answering            | argo/qna-coldstart/init-workspace                                | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/write-job-configs                             | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/write-io-configs                              | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/write-io-configs                              | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/add-zkHost                                    | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/pull-data                                     | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/pull-data-cloud                               | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/train                                         | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/list-workspace                                | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/post-model                                    | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-coldstart/apply-seldon-deployment                       | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/init-workspace                               | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/write-job-configs                            | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/write-io-configs                             | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/add-zkhost                                   | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/pull-qa-data-cloud                           | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/pull-qa-data                                 | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/train                                        | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/train-with-texts                             | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/list-workspace                               | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/post-model                                   | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-supervised/apply-seldon-deployment                      | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/init-workspace                               | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/write-job-configs                            | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/write-io-configs                             | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/add-zkhost                                   | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/list-workspace                               | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/pull-eval-data                               | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/pull-eval-data-cloud                         | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/evaluate                                     | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/push-eval-results-cloud                      | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | question-answering            | argo/qna-evaluation/push-eval-results                            | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user                                       | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/init-workspace                        | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/write-job-configs                     | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/write-io-configs                      | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/add-zkhost                            | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/pull-data-training-and-metadata       | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/pull-data-training-and-metadata-cloud | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/train-with-metadata                   | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/train-without-metadata                | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/push-recommendations                  | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/push-recommendations-cloud            | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/add-default-exclude-query             | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-user/init-workspace                        | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/copy-model                         | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/write-job-configs                  | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/write-io-configs                   | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/add-zkhost                         | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/pull-data                          | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/pull-data-cloud                    | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/train                              | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/push-content                       | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/push-content-cloud                 | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/add-default-exclude-query          | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | recommender                   | argo/item-recommender-content/delete-old-content-recommendations | init/wait/main                    | ✅         | ❌               | 5.9.10+           |
  | reverse-search                | reverse-search                                                   | init/set-reverse-search-zone      | ✅         | ✅               | 5.9.10+           |
  | reverse-search                | reverse-search                                                   | init/check-zk                     | ✅         | ✅               | 5.9.9+            |
  | reverse-search                | reverse-search                                                   | init/enable-tls-in-reverse-search | ✅         | ✅               | 5.9.10+           |
  | reverse-search                | reverse-search                                                   | reverse-search                    | ✅         | ❌               | 5.9.10+           |
  | rules-ui                      | rules-ui                                                         | rules-ui                          | ✅         | ✅               | 5.9.9+            |
  | seldon-core-operator          | seldon-controller-manager                                        | manager                           | ✅         | ❌               | 5.9.10+           |
  | seldon-core-operator          | seldon-spartakus-volunteer                                       | seldon-spartakus-volunteer        | ✅         | ❌               | 5.9.9+            |
  | seldon-core-operator          | crd/SeldonDeployment                                             |                                   | ✅/❌       | ❌               | 5.9.9+            |
  | solr                          | solr                                                             | init/set-solr-zone                | ✅         | ✅               | 5.9.10+           |
  | solr                          | solr                                                             | init/enable-tls-in-solr           | ✅         | ✅               | 5.9.10+           |
  | solr                          | configset-bootstrap                                              | configset-bootstrap               | ✅         | ✅               | 5.9.10+           |
  | solr                          | solr                                                             | solr                              | ✅         | ❌               | 5.9.10+           |
  | solr                          | solr-exporter                                                    | exporter                          | ✅         | ❌               | 5.9.10+           |
  | solr                          | solr-exporter                                                    | init/solr-init                    | ✅         | ✅               | 5.9.10+           |
  | solr-managed                  | configset-bootstrap                                              | configset-bootstrap               | ✅         | ✅               | 5.9.10+           |
  | solr-managed                  | exporter                                                         | exporter                          | ✅         | ❌               | 5.9.10+           |
  | solr-managed                  | exporter                                                         | init/solr-init                    | ✅         | ✅               | 5.9.10+           |
  | solr-managed                  | solr                                                             | init/set-solr-zone                | ✅         | ✅               | 5.9.10+           |
  | solr-managed                  | solr                                                             | init/enable-tls-in-solr           | ✅         | ✅               | 5.9.10+           |
  | solr-managed                  | solr                                                             | solr                              | ✅         | ❌               | 5.9.10+           |
  | solr-managed                  | solr                                                             | process-raw                       | ✅         | ❌               | 5.9.10+           |
  | solr-backup-runner            | solr-backup-runner-backup                                        | solr-backups                      | ✅         | ❌               | 5.9.10+           |
  | solr-backup-runner            | solr-backup-runner-prune                                         | solr-prune                        | ✅         | ❌               | 5.9.10+           |
  | templating                    | templating                                                       | templating                        | ✅         | ✅               | 5.9.9+            |
  | webapps                       | webapps                                                          | webapps                           | ✅         | ✅               | 5.9.9+            |
  | zookeeper                     | zookeeper                                                        | zookeeper                         | ✅         | ❌               | 5.9.10+           |
  | zookeeper                     | zookeeper                                                        | jmx-exporter                      | ✅         | ❌               | 5.9.10+           |
  | zookeeper                     | zookeeper                                                        | zookeeper-exporter                | ✅         | ❌               | 5.9.10+           |
  | zookeeper                     | zookeeper-chroots                                                | main                              | ✅         | ❌               | 5.9.10+           |
</Accordion>

### Faster, more efficient data processing with Spark 3.4.1

Fusion 5.9.10 upgrades Apache Spark to 3.4.1, bringing faster query execution, improved data transformation efficiency, and greater stability for distributed workloads.
This enhancement optimizes indexing, refines SQL query handling, and ensures smoother analytics workflows, enabling you to process large-scale data with greater speed and precision.

For more details, see the [Spark 3.4.1 release notes](https://spark.apache.org/releases/spark-release-3-4-1.html).

The Apache Spark 3.4.1 upgrade impacts jobs that use Python 3.7 behavior or compatibility, which may have automatically updated to Python 3.10.x and no longer function correctly. Update your code to ensure compatibility with Python 3.10.x and then test your Spark jobs in a staging environment before deploying to production.

### Enhanced security and stability

Fusion 5.9.10 introduces a new wave of security enhancements, ensuring a more resilient and up-to-date platform. This release includes critical updates across core services, including admin, frameworks, apps manager, classic connectors, and query indexing, reinforcing protection across the stack. Additionally, we’ve updated the `bitnami-shell` base image and upgraded `key-tools` to v3.0.2, further strengthening security and compliance.

These enhancements help maintain a robust and secure Fusion environment, keeping your data and infrastructure protected while optimizing performance for mission-critical workloads.

### Apps Manager API

The new [Apps Manager API](/api-reference/license/get-the-fusion-license) gives information about your Fusion license, entitlements, and usage.

<Card title="Apps Manager API" class="note-image" href="https://academy.lucidworks.com/apps-manager-api" cta="Take this course on the LucidAcademy." icon="graduation-cap" iconType="duotone">
  The quick learning for **Apps Manager API** focuses on the purpose and functions of the Apps Manager API.
</Card>

## Bug fixes

* `Solr-exporter` pods no longer get stuck in an `ImagePullBackOff` state, ensuring they pull the correct image and start reliably.

* The `job-launcher` and `job-rest-server` services now start correctly in SSL mode, resolving an issue where missing dependencies caused failures during initialization.

* Fusion now returns all matching search rules and rewrites in Commerce Studio instead of just the first ten, ensuring complete rule retrieval and better compatibility between the two systems.

* Prometheus stage execution histograms and counters now include stage labels, making it easier to organize dashboards and interpret stage metrics without relying on auto-generated IDs.

* Resolved an issue in Fusion 5.9.4 where v2 connectors failed to start in certain self-hosted EKS environments, preventing timeouts and ensuring successful job execution.

* Increased the request buffer size in `lwai-gateway` from 250 KB to 5 MB, allowing large messages to be processed without failures.

## Known issues

* Saving large query pipelines may cause OOM failures under high load.

  In Fusion versions 5.9.10 through 5.9.13, saving a large query pipeline during high query volume can result in thread lock, excessive memory use, and eventual OOM errors in the Query service.\
  This issue is fixed in Fusion 5.9.14.

* Deploying Fusion with TLS flags enabled fails in ArgoCD due to Helm chart rendering limitations.\
  When using ArgoCD to deploy Fusion 5.9.10 or 5.9.11 with TLS options enabled, Helm chart rendering fails due to the use of the `lookup` function, which is unsupported by ArgoCD. This prevents ArgoCD from generating manifests, blocking deployment workflows that rely on TLS configuration.\
  As a workaround, deploy Fusion without enabling TLS in ArgoCD-managed environments, or perform the deployment using Helm directly.\
  This issue is fixed in Fusion 5.9.12.

* An issue prevents segment-based rule filtering from working correctly in Commerce Studio. This issue is fixed in Fusion 5.9.12.

## Deprecations and removals

For full details on deprecations and removals, see [Deprecations and Removals](/docs/5/fusion/deprecations-and-removals).

### Bitnami removal

Fusion 5.9.10 will be re-released with the same functionality but updated image references.

In the meantime, Lucidworks will self-host the required images while we work to replace Bitnami images with internally built open-source alternatives.

If you are a self-hosted Fusion customer, *you must upgrade before August 28* to ensure continued access to container images and prevent deployment issues.
You can reinstall your current version of Fusion or upgrade to Fusion 5.9.14, which includes the updated Helm chart and prepares your environment for long-term compatibility.

See [Prevent image pull failures due to Bitnami deprecation in Fusion 5.9.5 to 5.9.13](https://support.lucidworks.com/hc/en-us/articles/33966125467799-Prevent-image-pull-failures-due-to-Bitnami-deprecation-in-Fusion-5-9-5-to-5-9-13) for more information on how to prevent image pull failures.

### Webapps service

Fusion has deprecated the Webapps service.
In previous versions of Fusion, you could use this service to deploy an App Studio WAR file into Fusion.
As of Fusion 5.9.10, you should instead **Deploy App Studio Enterprise to a Fusion 5 Cluster (GKE)**.

<Accordion title="Deploy App Studio Enterprise to a Fusion 5 Cluster (GKE)">
  This article explains how to deploy [App Studio Enterprise](/docs/5/fusion/dev-portal/appkit/concepts/app-studio-enterprise/overview) (ASE) to an existing Fusion 5 cluster in Google Kubernetes Engine (GKE) without using the Webapps service.

  Before completing this guide, ensure that your `fusion.conf` file points to the IP or URI and port of the proxy service.

  Run the App Studio Enterprise application locally and verify functioning security and search features with the cluster you are deploying to.

  ## Prepare the package

  1. Package your app into a single JAR file:

     ```
     ./app-studio package
     ```

  2. App Studio Enterprise includes a `dockerfile`. Create the App Studio Enterprise Docker image:

     ```
     docker build PATH -t APP_NAME
     ```

     Set or replace `APP_NAME` with the name of your application. Replace `PATH` with the path to build from.

  3. You can test the Docker image locally with the following command:

     ```
     docker run -it -p LOCAL_PORT:8080 APP_NAME
     ```

     Set or replace `LOCAL_PORT` with the port on your local machine that can access the app. Replace `APP_NAME` with the ASE application name.

  ## Publish the image

  You can publish the Docker image anywhere that supports Docker images. This section explains how to publish a Docker image to Google Kubernetes Engine.

  1. Tag your container for the registry:

     ```
     docker tag APP_NAME gcr.io/PROJECT_NAME/APP_NAME
     ```
  2. Push your Docker image to the Google Container Registry:

     ```
     docker push gcr.io/PROJECT_NAME/APP_NAME
     ```
  3. Verify the image:

     ```
     gcloud compute instances list
     ```

  ## Deploy the app to a cluster

  After publishing your ASE Docker image, deploy the image to a cluster. Your existing Fusion 5 cluster is a good choice.

  1. Switch the context to your Fusion 5 cluster:

     ```
     gcloud container clusters get-credentials CLUSTER_NAME
     ```

     Replace `CLUSTER_NAME` with your existing Fusion 5 cluster’s name.
  2. Create a deployment in your cluster using the image you published:

     ```
     kubectl create deployment APP_NAME --image=gcr.io/PROJECT_NAME/APP_NAME:latest
     ```

  ## Create an Ingress resource

  After deploying the app, create an Ingress resource for your ASE instance. If you require more Ingress rules, your Ingress resource will look different. Learn more about [Ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/).

  1. Use the following command to create a minimal Ingress resource:

     ```
     cat <<EOF | kubectl apply -f -
     apiVersion: networking.k8s.io/v1beta1
     kind: Ingress
     metadata:
       name: ase-ingress
     spec:
       backend:
         serviceName: $AppName
         servicePort: 80
     EOF
     ```
  2. Verify the Ingress resource:

     ```
     kubectl get ingress ase-ingress
     ```
</Accordion>

### Forked Apache Tika Parser

The Forked Apache Tika parser stage has been removed. Use [asynchronous Tika parsing](/docs/5/fusion/getting-data-in/indexing/asynchronous-tika-parsing) instead.

## Upgrade and platform support details

Upgrading to the latest version of Fusion 5.9 offers several key benefits:

* **Access to latest features**: Stay current with the latest features and functionality to ensure compatibility and optimal performance.
* **Simplified process**: Fusion 5.9.5 and later use an in-place upgrade strategy, making upgrades easier than ever.
* **Extended support**: Upgrading keeps you up-to-date with the latest supported Kubernetes versions, as outlined in the [Lucidworks Fusion Product Lifecycle](/docs/policies/lifecycle-policies/lw-version-support-lifecycle) policy.

Check out the **Fusion 5 Upgrades** for details.

<Tip>
  **Looking to upgrade?**

  See [Fusion 5 Upgrades](/docs/5/fusion/operations/fusion-5-upgrades) for detailed instructions.
</Tip>

### Kubernetes platform support

Lucidworks has tested and validated support for the following Kubernetes platforms and versions:

* **Google Kubernetes Engine (GKE):** 1.28, 1.29, 1.30, 1.31
* **Microsoft Azure Kubernetes Service (AKS):** 1.28, 1.29, 1.30, 1.31
* **Amazon Elastic Kubernetes Service (EKS):** 1.28, 1.29, 1.30, 1.31

Support is also offered for Rancher Kubernetes Engine (RKE) and OpenShift 4 versions that are based on Kubernetes 1.28, 1.29, 1.30, 1.31. OpenStack and customized Kubernetes installations are *not* supported.

For more information on Kubernetes version support, see the [Kubernetes support policy](/docs/policies/lifecycle-policies/lw-version-support-lifecycle#kubernetes-support).

### Component versions

The following table details the versions of key components that may be critical to deployments and upgrades.

| Component               | Version                                                                 |
| ----------------------- | ----------------------------------------------------------------------- |
| **Solr**                | fusion-solr 5.9.10  *(based on Solr 9.6.1)*                             |
| **ZooKeeper**           | 3.9.1                                                                   |
| **Spark**               | 3.4.1                                                                   |
| **Ingress Controllers** | Nginx, Ambassador (Envoy), GKE Ingress Controller  Istio not supported. |

**More information about support dates can be found at [Lucidworks Fusion Product Lifecycle](/docs/policies/lifecycle-policies/lw-version-support-lifecycle).**
