Articles in this section

Configuring Bold Reports Report Server to Operate Without Session Affinity (Sticky Sessions)

Published:
Updated:

Overview

Bold Reports Report Server can be deployed in load-balanced and High Availability environments without relying on Session Affinity (Sticky Sessions).

By default, report processing information is stored using an InMemory cache that is isolated to the individual Report Server instance. In multi-node deployments, this may require requests to be routed to the same server.

To support round-robin or least-connections load balancing without Session Affinity, configure the Report Viewer to use the File cache provider and host the AppData directory on shared storage. This allows report cache files to be accessed by all Report Server nodes.

How Session Affinity Affects Report Processing

Session Affinity (Sticky Sessions) ensures that all requests from a user session are routed to the same Report Server node.

Without Session Affinity:

  • Requests may be routed to different servers.
  • Node-specific memory cache is not available across servers.
  • Report processing information may not be available on the newly selected node.

With shared File-based caching:

  • Cached report information is stored in a shared location.
  • All Report Server instances can access the same cache.
  • Requests can be served by any node in the deployment.

Recommended Configuration

Step 1: Enable File-Based Cache Storage

Navigate to:

UMS Settings → Configuration → reporting/config.xml

Add the following configuration inside the <ReportViewerFeatures> section:

<CacheStorage provider="File" itemtypes="Report" enableRequestLimiting="true"></CacheStorage>

Step 2: Configure Shared AppData Storage

After enabling the File cache provider:

  • Cached report files are stored in the AppData location.
  • AppData must be hosted on shared storage.
  • All Report Server instances must access the same storage location.

Traditional High Availability Deployment

  • Use a shared network file system.
  • Configure all nodes to access the same AppData location.
  • Verify read and write permissions across all nodes.

Kubernetes High Availability Deployment

  • Configure AppData using a shared Persistent Volume.
  • Mount the volume across all Report Server pods.
  • Report cache files stored in AppData become available across pods and worker nodes.

Can Report Server Operate Without Session Affinity?

Yes.

When the File cache provider is enabled and AppData is configured on shared storage:

  • Report cache files are shared across Report Server instances.
  • Requests routed to different nodes can access cached report information from the shared AppData location.
  • Load-balanced deployments can operate without depending on Session Affinity (Sticky Sessions) for report cache access.

Benefits

  • Supports round-robin and least-connections load balancing.
  • Improves High Availability architecture.
  • Allows cache sharing across multiple nodes.
  • Reduces dependency on node-specific memory storage.
  • Supports deployments without Session Affinity (Sticky Sessions).

Reference

https://help.boldreports.com/enterprise-reporting/designer-guide/manage-content/reports/caching-report/

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied