Cache Service Guide

The Cache Service is a platform-based feature set at the environment (Org) level that provides caching capabilities at the data plane layer for dynamically referenced accounts, pipelines, and expression libraries. Since pipeline validations and executions can be slow due to information that needs to be fetched for pipeline prepare, the Cache Service optimizes the fetch mechanism by decreasing the dependency on the control plane for such operations.

Benefits

  • Avoid bottlenecks during asset loading at execution time.
  • Reduce time for pipeline initialization.
  • Improved performance when resolving the noted asset types during pipeline execution.
  • Reduce Scheduled Task start latency by eliminating a control plane round-trip each time a task fires.
  • Improved cache data freshness (Snaplex 4.45.0.0 or later): stale assets are automatically self-corrected within a 1-hour age threshold if a control plane push invalidation is missed.

Support matrix

Asset Support Notes
Groundplexes Tick Icon None
Cloudplexes Tick Icon None
Pipelines Tick Icon Child pipelines and error pipelines must be referenced via the Expression Language. Child pipelines must be in the same environment (Org) as the parent pipeline.
Accounts Tick Icon Must be referenced via the Expression Language.
Expression libraries Tick Icon Must be referenced via the Expression Language
Scheduled Tasks Tick Icon Requires Snaplex 4.44.3.0 or later.

Feature Enablement

Attention:

All Cache Service caching (pipelines, accounts, expression libraries, and Scheduled Tasks) is disabled by default and requires feature flag enablement per environment. Contact your CSM to enable:

com.snaplogic.cc.cache.CacheClientProvider.CACHE_SERVICE_ENABLED=true

To disable the Cache Service, contact your CSM to set the flag to false.

Background refresh is available in Snaplex 4.45.0.0 or later and requires no additional configuration.

Usage Guidelines

Cache Configurations

  • Default TTL (Time to Live): 96 hours
  • Max Asset Size: 10 MB

You can update these configurations via the Snaplex global properties.

  • Global TTL for all caches (in hours): jcc.cache_expiry=96
  • Single item max size cap (per asset in MB): jcc.cache.file.max_mb=10

Eviction Rules

The oldest cached asset will be evicted if the limit is reached. The following lists the limit by asset type.

  • Files: 1000
  • Accounts: 5000
  • Pipelines: 2500
  • Tasks: 2500

Limitations

  • The Cache Service does not support running parent and child pipelines in separate environments (Orgs). The child pipeline must be in the same environment (Org) as the parent pipeline.
  • Scheduled Task caching requires Snaplex version 4.44.3.0 or later.
  • The maximum number of cached tasks is 2,500.
  • Ultra (always-on) tasks are not included in this release. Task caching applies to Scheduled Tasks only.

Asset References

We recommend that all pipeline references are dynamic, enabled with the Expression Language, to take advantage of the Cache Service.

All paths must be exact. If an asset cannot be found via the exact path (whether selected from the drop down or typed in), the asset fallback mechanism searches for the referenced asset. The platform searches for the asset first in the project shared directory, then second in the global shared folder. If an identically named asset exists in these locations, the pipeline executes using the reference. In this case, the asset will not be cached.
Note: A lint warning is displayed when the requested asset path resolves to another path (for example, resolving from a Project to a Shared path). When you specify an implicit path that uses shared-path fallback behavior, the system displays a lint warning because the configured path is not the final resolved path. Hence, we highly recommend that you specify explicit paths that match the actual cached asset paths to ensure optimal performance of the Cache service.
Note: For accounts, the Cache Service follows the platform's legacy account behavior of retaining metadata details, such as type, version, label, and path when the account is modified. You may encounter the following:
  • Minor UI latency while account metadata is being retained.
  • If a pipeline or account asset is deleted, the view of the pipeline state for related historical runtime executions might not be visible in the Pipeline Validation Statistics via Designer. Runtime history details remain accessible in Monitor.

Asset Updates

  • When an account or pipeline is updated, the control plane pushes these updates to the JCC nodes so that the JCC gets the updated asset and the cache is undisturbed.

  • When a project or Project space is updated, all downstream assets become invalid and do not remain in the cache.
  • When a Scheduled Task is updated in the control plane, the cached version is refreshed and propagated immediately. A full re-link through the control plane is not required.

    If the Cache Service is unavailable when a Scheduled Task runs, execution falls back to the direct control plane fetch path. Cached tasks are retained rather than evicted on failure.

Background Refresh

The Cache Service includes a background refresh mechanism that automatically re-fetches assets that have not been refreshed within 1 hour, ensuring the cache self-corrects even if a control plane push invalidation is missed. This complements (and does not replace) the existing control plane push invalidation mechanism.

  • Requires Snaplex 4.45.0.0 or later.
  • Age threshold: 1 hour. Assets that have not been refreshed within 1 hour are treated as soft-invalidated and re-fetched in the background.
  • Covers accounts and pipelines only in this release. Files and expression libraries are not included.
  • No pipeline or task configuration changes are required.

Soft vs. hard invalidation: A hard invalidation (control plane push) immediately removes an asset from the cache and forces a synchronous re-fetch. A soft invalidation marks an asset as stale but allows it to continue serving until the background refresher replaces it, avoiding a synchronous request to the control plane on the critical execution path.

Troubleshooting

  • When a requested asset path resolves to a different path, the cache service now sets a new flag in has_warnings. In Designer, a lint warning is displayed on the relevant Snap/Pipeline/Asset when your path is being implicitly resolved.