IBM Support

DiskStore ProductEntitlementCacheCache: Failed to write element to disk error

Troubleshooting


Problem

In a clustered environment, you receive error DiskStore ProductEntitlementCacheCache: Failed to write element to disk.

Symptom

This problem occurs frequently in a clustered environment and the symptoms are usually frequent errors related to disk caching. Below is the stack trace for one of these errors.

Error Message

2009.12.10 15:12:25:224 Env/Store ProductEntitlementCache Spool Thread:ERROR:DiskStore
ProductEntitlementCacheCache: Failed to write element to disk 'ProductEntitlement__ENTITLED_PC_RF_CACHE_STRING_100'. Initial cause was
com.comergent.reference.appservices.productService.search.filter.ProductCategoryRefineFilter
java.io.NotSerializableException:
com.comergent.reference.appservices.productService.search.filter.ProductCategoryRefineFilter
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at java.util.ArrayList.writeObject(ArrayList.java:569)
at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at net.sf.ehcache.store.DiskStore.serializeEntry(DiskStore.java:739)
at net.sf.ehcache.store.DiskStore.writeElement(DiskStore.java:678)
at net.sf.ehcache.store.DiskStore.writeOrReplaceEntry(DiskStore.java:667)
at net.sf.ehcache.store.DiskStore.flushSpool(DiskStore.java:639)
at net.sf.ehcache.store.DiskStore.throwableSafeFlushSpoolIfRequired(DiskStore.java:615)

Resolving The Problem

The stack trace shows this is the NotSerializableException. This can be avoided by using the serializable class. As the source code is available for this particular code, the required customization can be done to overcome the exception.

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"MCS","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

NFX7992

Product Synonym

[<p><b>]Escalation ID[</b><p>];123193;[<p><b>]Severity[</b><p>];Normal;[<p><b>]Type[</b><p>];NormalFix

Document Information

Modified date:
16 June 2018

UID

swg21559885