# Cache for mapping between source table URN and the source fields # that record fields are mapped to # # Cache Keys: Source Table URN (a string which varies based on the data source) # Cache Values: A List containing SourceFields appian.cacheattributes.cacheName=sourceTableUrnToSourceFields appian.cacheattributes.distributed=true # Maximum number of cached objects at any given time # # Approximate max source table URN length: 200 (1 byte per char) # Approximate extreme for SourceFields per entry: 50 (8 bytes per long) # # Key: 200 bytes # Value: Each source field contains a name, type (string), 2 booleans, a long and a list of longs # representing interchangeable AppianType ids # Assuming name is no longer than 32 characters, type is no longer than 20 characters, and there are # no more than 5 interchangeable AppianTypes, this means the max bytes per SourceField would be # 32 + 20 + (2*1) + 8 + (8*5) = 102 bytes per SourceField # Assuming no more than 50 SourceFields per table, the max bytes per entry would be # 200 + (50*102) = 5300 bytes = 5.3 KB # Reasoning: Each entry takes ~ 5 KB (extreme), so 400 entries would be less than 2 MB of memory. appian.cacheattributes.MaxObjects=400 # Background memory shrinkage (active eviction) # Run every hour and evict things older than an hour appian.cacheattributes.ShrinkerIntervalSeconds=3600 appian.cacheattributes.MaxMemoryIdleTimeSeconds=3600