Summary
This article explains how Spotfire Server prioritizes file-specific states and rules, such as a pre-existing Web Cache or explicit Scheduled Update (SU) rules over general user or group-based routing rules.
When a DXP file has a pre-existing Web Cache on a particular Spotfire Web Player instance or is explicitly configured for Scheduled Updates on a specific Resource Pool, the server prioritizes this file-specific routing over any general user or group assignment. This ensures the analysis opens in its designated or cached environment, even if the accessing user belongs to a group assigned to a different Resource Pool.
Problem Scenario:
A user belongs to Group Test 1 (configured to route to Resource Pool 2) and attempts to open a DXP analysis file that was previously Web Cache-processed on Resource Pool 1. The user expects the session to connect to Resource Pool 2 based on their group's routing rule.
Observed Behavior:
The Spotfire Server successfully routes the user's session to Resource Pool 1 (Web Player Instance 1) instead of Resource Pool 2. This behavior, while potentially unexpected, is the correct and intended design of the Spotfire Server's routing mechanism.
Technical Explanation of Routing Priority:
Spotfire Server's routing mechanism follows a clear hierarchy, prioritizing rules or states associated directly with the DXP file itself before considering user or group-based assignments. User and group rules are applied only if no file-level specific routing instructions exist.
When an analysis file request is made, the server evaluates routing based on the following priority:
-
File-Specific Routing (Highest Priority): The server first looks for explicit rules or pre-existing states tied to the DXP file. This includes:
- An analysis being part of a Scheduled Update (SU), which designates a particular Resource Pool for its background processing and default loading.
- An analysis having an existing Web Cache on a specific Spotfire Web Player instance or Resource Pool.
- Explicit file-level routing rules defined in Schedule & Routing. If any of these file-specific conditions are met, the system prioritizes routing to that associated Resource Pool or instance.
- User/Group Routing Rules (Lower Priority): User or group routing rules (like assigning Group Test 1 to Resource Pool 2) are only applied if no specific file-level rules or pre-existing states are found for the DXP analysis being opened. These rules act as a general fallback to direct users or groups to their preferred Resource Pool when the analysis file itself doesn't have a more specific instruction.
Once the applicable routing rule determines the target pool, resulting in one or more available service instances to choose between, the router selects the final Spotfire Web Player instance using the following criteria in order:
- Health Status: Instances with the best available health status (e.g., 'Available') are preferred.
- Loaded Analysis: Prefers service instances where the analysis is already loaded in memory (Web Cache) to optimize load times.
- User Sessions: Prefers the service instance with the fewest active user sessions.
Therefore, in this scenario, the DXP file's existing Web Cache on Resource Pool 1 takes precedence over Group Test 1's general routing rule to Resource Pool 2, as the system prioritizes the file's pre-existing state.
Resolution:
To ensure DXP files route according to specific user/group rules or to enforce explicit file-level routing, consider the following best practices:
- Clear Web Cache / Remove Scheduled Updates: If a DXP file is incorrectly routing due to prior Web Cache processing or an unintended Scheduled Update rule, clear the existing Web Cache for the affected file from the unintended Spotfire Web Player instances or adjust its Scheduled Update rule. Removing these higher-priority file-specific states allows the routing engine to apply subsequent user or group rules.
- Implement Explicit File Rules: For critical DXP files requiring consistent routing to a specific Resource Pool regardless of user affiliations, create explicit file routing rules or Scheduled Updates within the Spotfire Server's Schedule & Routing page. These file-level rules take top priority over general group rules.
- Align Expectations: Recognize that general user and group routing rules serve as a default fallback when no explicit file-level instructions or active cached states exist.
Reference:
Understanding routing in Spotfire Server:
https://docs.tibco.com/pub/spotfire_server/latest/doc/html/TIB_sfire_server_tsas_admin_help/server/topics/understanding_routing.html
Comments
0 comments
Article is closed for comments.