Cache Service Guide Preview

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, as well as pipelines and expression libraries referenced in pipelines. 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.

Support matrix

Asset Support Notes
Groundplexes Tick Icon None
Cloudplexes Tick Icon None
Pipelines Tick Icon Child and error pipelines must be referenced dynamically (Expression Language enabled)
Accounts Tick Icon Must be referenced dynamically (Expression Language enabled)
Expression libraries Tick Icon Must be referenced dynamically (Expression Language enabled)
Tasks Cross Icon Support is planned in a future release

Feature Enablement

The Cache Service feature requires setting an Environment-level feature flag.

com.snaplogic.cc.cache.CacheClientProvider.CACHE_SERVICE_ENABLED

  • To enable, set the feature flag to true.
  • To disable, set the feature flag to false.

We recommend that you enable this feature flag in your development environments before production environments. Consult your CSM about enabling the feature for your environment (Org).

Usage Guidelines

Since the Cache Service feature is in Preview mode, the following is subject to change. Consult your CSM if you have questions about these guidelines.

Cache Configurations

  • Default TTL (Time to Live): 96 hours
  • Max File 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 caps (per asset in MB): jcc.cache.file.max_mb=10

Asset Updates

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

    Note: This is currently available for accounts and will be available for pipelines in the February release.
  • When a project or Project space is updated, all downstream assets will be invalidated and will not remain in the cache.

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

Limitations

References to Assets need to be specified with concrete paths. If a path to an asset is not concrete, the Asset isn't cached.