A soft-locked cache entry was expired by the underlying Ehcache

10,388

Solution 1

From the description it looks like the second-level cache for your entities are getting full, and some of them are getting evicted from the underlying ehcache prematurely. Do you flush & clear the hibernate Session periodically during your bulk-insert, as mentioned in the documentation?

Solution 2

You may also want to look at using a Stateless Session. If not, as @Binil Thomas mentioned, you're going to have to flush and clear your session to free up resources.

Share:
10,388
Joe
Author by

Joe

Updated on June 08, 2022

Comments

  • Joe
    Joe almost 2 years

    Hibernate 3.3.x, ehcache 2.2.x

    The following error occurs, when I try to publish a lots of users in a single go. Any idea on why this would happen and how to rectify this? Is there a way to disable this cache prior to bulk loading of users, if so how should I do that?

    17:17:50,140 WARN [AbstractReadWriteEhcacheAccessStrategy] Cache
    persistence.unit:unitName=my.ear/my-ejb-1.0.0.jar#my.com.mycompany.User.phones Key com.mycompany.User.phones#9915 Lockable : null
    
    A soft-locked cache entry was expired by the underlying Ehcache.
    If this happens regularly you should consider increasing the cache timeouts and/or capacity limits
    

    EDIT1:

    This error happens when I try to bulk load a lot of users into the database via JPA calls. I don't shutdown the cache manager via a tear down hook.

  • Binil Thomas
    Binil Thomas almost 13 years
    To test out the hypothesis, you can try set EhCache's maxElementsInMemory to 0 - so that no entry ever gets evicted - and check if the warning goes away.
  • cdalxndr
    cdalxndr almost 4 years
    "increase to 0" doesn't make any sense