Skip to main content

Identify the Bottleneck

Before applying fixes, determine which factor is causing the slow load. Risksheet performance is affected by several independent factors, and the resolution differs for each one. diagram

Step 1: Check Polarion Server Operations

Polarion background operations can block Risksheet access entirely or cause significant delays.
  1. Open the Polarion administration console
  2. Check whether a historical database reindexing operation is running
  3. If reindexing is active, wait for it to complete before investigating further
Polarion historical database reindexing operations can make Risksheet completely inaccessible. The entire application may fail to load or time out during reindexing. Always check for active reindexing operations before investigating Risksheet-specific issues.

Step 2: Check for Unresolvable Work Item References

Broken cross-project links or references to deleted work items cause expensive server-side exceptions that severely degrade load times.
  1. Open the Polarion server logs (check your server administrator for the log file location)
  2. Search for UnresolvableObjectException errors
  3. If these errors appear during Risksheet loading, they indicate linked work items that do not exist or are inaccessible
Unresolvable work item references cause 40+ second delays per GridItems API call. If your server logs show multiple UnresolvableObjectException entries coinciding with Risksheet requests, the broken links are the primary cause of slow loading. Remove or fix the broken links in Polarion to resolve the issue.
To fix broken references:
  1. Identify the specific work item IDs from the exception messages in the logs
  2. Open the risk items that contain the broken links
  3. Remove the invalid link references or restore the missing linked items
  4. Save the changes and reload the Risksheet

Step 3: Reduce Sheet Complexity

The number of item-link and multi-item-link columns has a greater impact on performance than row count alone. A sheet with 250 rows and 17 linked item columns (especially 7 or more multiItemLink columns) will load significantly slower than a sheet with 500 rows and only a few link columns. Split large sheets by FMEA type: Instead of combining multiple analysis types (e.g., usability FMEA and design FMEA) into a single sheet with many columns, create dedicated sheets for each FMEA type. This reduces the column count per sheet and improves load performance.
ApproachColumnsPerformance
Single combined sheet (usability + design FMEA)40+ columns, 17 link columnsSlow (up to 2 minutes for 250 rows)
Separate usability FMEA sheet~20 columns, ~5 link columnsFast
Separate design FMEA sheet~20 columns, ~5 link columnsFast
Performance degrades primarily from the number of item-link and multi-item-link columns rather than row count. Splitting one large FMEA sheet into dedicated sheets per FMEA type is the most effective optimization strategy.

Step 4: Apply Performance Configuration Parameters

Several risksheet.json and Polarion configuration properties directly affect load and save performance.

Enable Module-Only Permissions

Add the moduleOnlyPermissions parameter to speed up loading of large sheets. This parameter restricts permission checking to the document level instead of checking per-item permissions, which is significantly faster.
{
  "global": {
    "moduleOnlyPermissions": true
  }
}
The moduleOnlyPermissions parameter was introduced in version 24.8.5. Verify that your Risksheet version supports this property before adding it to your configuration.

Disable Refresh on Save

By default, Risksheet performs a full data reload after every save operation. For large sheets, this reload adds noticeable delay after each save. Disable it with:
{
  "global": {
    "refreshOnSave": false
  }
}
When refreshOnSave is set to false, the grid keeps its current data in memory after saving instead of fetching everything from the server again. You can manually refresh the page when you need to see changes made by other users.
Disabling refreshOnSave means the grid will not automatically reflect changes made by other concurrent users after your save. Use this setting when performance is more important than real-time multi-user synchronization.

Step 5: Optimize Export Performance

If slow performance occurs specifically during PDF or Excel export rather than during initial page load, the bottleneck is likely cell merging during export rendering. Use Flat Table View for Export: Switch to the Flat table view before exporting. Cell merging is the primary bottleneck for large sheet exports, and using the Flat table view eliminates merging during the export process.
Export MethodEstimated Time (Large Sheet)
Standard view with merged cellsUp to 3 hours
Flat table view (no merging)3-7 minutes
Steps to export using Flat table view:
  1. Open the Risksheet document
  2. Switch to the Flat table view using the view selector
  3. Start the PDF or Excel export from the Flat view
  4. After export completes, switch back to the hierarchical view if needed
For detailed export troubleshooting, see Export Performance Issues.

Step 6: Check Browser and Network Factors

If the server and configuration are not the issue, browser-side factors may be involved.
  1. Clear browser cache — Stale cached resources can cause loading delays
  2. Check concurrent users — Six or more users loading the same Risksheet simultaneously can strain server resources. Coordinate heavy editing sessions during off-peak hours
  3. Verify network connection — High latency between your browser and the Polarion server increases load times for every API call. Each linked item column generates additional server requests during load
  4. Check browser compatibility — Use a supported browser version. See Browser-Specific Issues for details

Step 7: Use Session Keep-Alive

Long editing sessions may trigger session timeouts that cause apparent “slow loading” when the session expires and forces re-authentication. Risksheet includes a built-in keep-alive mechanism that prevents session timeout during active editing. If you experience periodic slow responses or re-login prompts during long sessions, check that your browser is not blocking background requests to the keep-alive endpoint. See Session Timeout Errors for more information.

Performance Configuration Summary

ParameterLocationDefaultRecommended for Performance
global.moduleOnlyPermissionsrisksheet.jsonfalsetrue for large sheets
global.refreshOnSaverisksheet.jsontruefalse for large sheets with few concurrent users
Flat table view for exportUI view selectorHierarchicalUse Flat view before exporting large sheets
Sheet splittingConfiguration architectureSingle sheetSeparate sheets per FMEA type

Verification

After applying the relevant fixes, you should see:
  • Initial page load completes within 10-30 seconds for sheets with up to 300 rows
  • Save operations complete without a full page reload (when refreshOnSave is false)
  • No UnresolvableObjectException errors in the server logs during Risksheet loading
  • Export operations complete within minutes instead of hours when using Flat table view
If loading times remain above 2 minutes after applying all optimizations, contact Nextedy support with the following information:
  • Number of rows and columns in the sheet
  • Number of itemLink and multiItemLink columns
  • Polarion server version and Risksheet version
  • Relevant server log excerpts

See Also

Support TicketsSource Code
  • RiskItemsODataCollectionView.ts
  • CompareToCommand.ts