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.
Historical Number
NFX7992
Product Synonym
[<p><b>]Escalation ID[</b><p>];123193;[<p><b>]Severity[</b><p>];Normal;[<p><b>]Type[</b><p>];NormalFix
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21559885