-
Feature Request
-
Resolution: Won't Fix
-
L3 - Default
-
None
-
7.18.0-alpha1
User Story (Required on creation):
We allow our customers to design many processes(can easily exceed 50+ ) using our process designer and allow different process persona's to instantiate and interact with those processes during runtime. We make use of camunda process engine - 7.17
Camunda Process engine makes use of in-memory LRU cache for following Deployment metadata.
protected ProcessDefinitionCache processDefinitionEntityCache;
protected CaseDefinitionCache caseDefinitionCache;
protected DecisionDefinitionCache decisionDefinitionCache;
protected DecisionRequirementsDefinitionCache decisionRequirementsDefinitionCache;
protected BpmnModelInstanceCache bpmnModelInstanceCache;
protected CmmnModelInstanceCache cmmnModelInstanceCache;
protected DmnModelInstanceCache dmnModelInstanceCache;
As you know, this in-memory cache is backed up by DB persistence. We are using distributed cache (Memcache with near and remote cache) for -
1) Better management of memory footprint. Deploying many processes, results in high memory usage, and we want to govern size of in-memory cache using nearCache/remoteCache of Memcache.
2)Any un-deployment of process gets sync-up on all nodes. Invalidation of cache get sync-up on all nodes.
Functional Requirements (Required before implementation):
We allow our customers to design many processes(can easily exceed 50+ ) using our process designer and allow different process persona's to instantiate and interact with those processes during runtime. We make use of camunda process engine - 7.17
Technical Requirements (Required before implementation):
Make all attributes of DefinitionEntities and ModelInstance Entitities used by above deployment caches, to implement Serializable interface, so that we can use above entities in distributed cache implementation like Memcache.
Limitations of Scope (Optional):