Set dynamic cache disk offload


 

+

Search Tips   |   Advanced Search

 

Use this task to configure dynamic cache disk offload, which saves cache entries that are deleted from the memory cache to disk.

By default, when the number of cache entries reaches the configured limit for a given appserver, cache entries are removed from the memory cache, allowing newer entries to be stored in the cache. Use disk offload to copy the cache entries that are being removed from the memory cache to disk for potential future access.

  1. In the admin console, click...

      Servers | Server Types | WebSphere application servers | myserver | Container services | Dynamic cache service

  2. Select Enable disk offload.

  3. After you enable the disk offload, we can set the Disk offload location. The disk offload location specifies where to save the cache entries on the disk. The disk offload location must be unique for any appservers defined on the same node. If we have multiple servers defined on the same node, make sure the disk offload location is different for each server.

  4. Enable Flush to disk if we want cache objects that are in memory to be saved to disk when the server is stopped. Disk offload must be enabled if we choose this option. If we do not enable flush to disk, all the cache objects are deleted when the server stops.

  5. Click Apply or OK.

  6. Restart WAS.

 

Results

You enabled disk offload. Memory cache entries are moved to disk for potential future access.

When we have two or more appservers with servlet caching enabled and the appservers specify the same disk offload location for their caches through the dynamic cache service, the following exceptions might occur:

java.lang.NullPointerException
       at com.ibm.ws.cache.CacheOnDisk.readTemplate(CacheOnDisk.java:686)
       at com.ibm.ws.cache.Cache.internalInvalidateByTemplate(Cache.java:828)

or:

java.lang.NullPointerException
       at com.ibm.ws.cache.CacheOnDisk.readCacheEntry(CacheOnDisk.java:600)
       at com.ibm.ws.cache.Cache.getCacheEntry(Cache.java:341)

If one server is run as root and the other servers are run as non-root, this problem could occur. For example, if server1 runs as root and server2 runs as wasuser or wasgroup, the cache files in the disk offload location might be created with root permissions. This situation causes the applications running on the non-root servers to crash when they try to read or write to the cache.

 

Related tasks

Use the dynamic cache service
Set Edge Side Include caching

 

Related

Dynamic cache service settings
Java virtual machine cache settings