Content Application Developer Manual / Version 2406.0
Table Of ContentsIn this section, you will find tables with several important properties and actions manageable via JMX.
File System Transformed Image Blob Cache
This is a file system cache where the results of image transformations are persisted in a dedicated directory
and can survive CAE restarts. Internally it is represented as two
subfolders "new" and "old". Transformed
images are written to the "new" folder until it exceeds
NewGenerationCacheSize
. When that happens, the
"new" folder is renamed to "old",
and a new "new" folder is created. The process of renaming
the "new" folder to "old" is called a
rotation. If the "old" folder is not empty
at rotation, than its files are regarded to be obsolete and get deleted. During a cache lookup, a content
is first searched for in the "new" folder. If it not found there,
the "old" folder is searched instead. In case it exists in
"old", it is regarded to be "still needed"
and moved back to the "new" folder (recalled
from "old").
The content of both the "old" and the "new" folder are kept across system restarts.
The JMX attributes Level
, NewGenerationLevel
and OldGenerationLevel
show how much data is stored in bytes in the whole cache and its "new"
and "old" subfolders at a certain point of time.
They correspond to the values of internal counters and are also written every 5 seconds to
"level.txt" files residing in the "new" and
"old" folders. Upon restart, the internal counters are initialized from
these files.
Note
It is possible to manipulate "level.txt" files, or the values of
internal counters by setting JMX attributes NewGenerationLevel
and
OldGenerationLevel
, as well as manually delete some cached image blob files.
Make sure you know what you are doing when performing such manipulations and take care to restore
consistency between the physical size of "new" and
"old" folders, the state of internal counters and the values
persisted in "level.txt".
The following table shows the relevant JMX attributes. They are also documented in the Javadoc of TransformedBlobCacheManager.
Attribute | Type | Description |
---|---|---|
| Read-only | The configured path used to store cache files. |
| Read/Write | The maximum allowed cache size in bytes for the whole cache consisting of two generation folders "new" and "old". The cache level of both generations is rarely higher and typically significantly lower than this value. Note that the file system overhead for storing the files does not count towards this value. So the physical space that has to be reserved on the disk for the cache has to be slightly higher than this value. |
| Read-only | Cache size of the new generation in bytes, that is, the size at which the new generation gets rotated into the old generation. The size of new generation is hard-coded to be exactly one half of the value of CacheSize. Note that the file system overhead for storing the files does not count towards this value. |
| Read-only | The cache level in bytes as a sum of files in the new generation
and old generation folders. The value of level is the sum of
NewGenerationLevel and OldGenerationLevel . Note that the file system
overhead for storing the files does not count towards this value. |
| Read/Write | The cache level of the new generation in bytes, that is, the total size of all files in the new generation. Note that the file system overhead for storing the files does not count towards this value. |
| Read/Write | The cache level of the old generation in bytes, that is, the total size of all files in the old generation. |
| Read-only | The count of rotate operations since system start. |
| Read-only | The count of blob accesses since system start. |
| Read-only | The count of recalls since system start. During a recall, a blob is recovered from the old generation and moved back into the new generation. |
| Read-only | The count of faults since system start. During a fault, a blob is computed and put into the new generation. |
| Read-only | The sum of sizes in bytes of all blobs recalled since system start. During a recall, a blob is recovered from the old generation and moved back into the new generation. |
| Read-only | The sum of sizes in bytes of all blobs faulted since system start. During a fault, a blob is computed and put into the new generation. |
| Read-only | The initial cache level for the whole cache consisting of two generation folders "new" and "old". Note that the file system overhead for storing the files does not count towards this value. |
| Read-only | The initial cache level of the new generation at system start, that is, the total size of all files in the new generation. Note that the file system overhead for storing the files does not count towards this value. |
| Read-only | The initial cache level of the old generation at system start, that is, the total size of all files in the old generation. Note that the file system overhead for storing the files does not count towards this value. |
| Read-only | The time of the system start in milliseconds since the Epoch. |
| Read-only | Uptime of the cache in milliseconds. |
Table 5.13. TransformedBlobCacheManager attributes