Cache Service Guide
The Cache Service is a platform-based Org environment-level feature 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 | None | |
| Cloudplexes | None | |
| Pipelines | Child and error pipelines must be referenced dynamically (Expression Language enabled) | |
| Accounts | Must be referenced dynamically (Expression Language enabled) | |
| Expression libraries | Must be referenced dynamically (Expression Language enabled) | |
| Tasks | 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
We recommend that you dynamically reference assets to get the full benefit of the Cache Service.
Behavior Change
When the Cache Service is enabled, references to assets must be precisely specified for the asset to be cached.
Pipeline reference example 1
S3 Download Snap -> Snap account path: /snaplogic/project_space/project/s3_account
Manager --> Existing Snap account paths
/snaplogic/project_space/shared/s3_account/snaplogic/shared/s3_account
Because the path /snaplogic/project_space/project/s3_account cannot be found, the account is not cached.
Pipeline reference example 2
- Pipeline A: S3 Download Snap --> static account reference is not cached.
- Pipeline B: Pipeline Execute Snap --> dynamically referenced account is cached.
- Pipeline C: S3 Download --> static account reference is cached.