2011-01-02 2 views
3

Je reçois l'avertissement suivant et je n'ai aucune idée de ce qu'il faut faire à ce sujet. Il y a environ 80000 entrées qui écrivent cet avertissement dans le fichier journal catalina.out dans tomcat chaque fois que les bannedIPs sont mis à jour: seProblèmes avec: Une entrée de cache verrouillée a été expirée par le sous-jacente Ehcache

WARNING: Cache package.BannedIP Key package.BannedIP#73121 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 
Dec 16, 2010 10:00:53 PM net.sf.ehcache.hibernate.strategy.AbstractReadWriteEhcacheAccessStrategy handleLockExpiry 

La configuration BannedIP dans le fichier ehcache.xml:

<cache name="package.BannedIP" 
     maxElementsInMemory="80000" 
     eternal="true" 
     overflowToDisk="true" 
     diskPersistent="true" /> 

Tous l'aide sera appréciée.

Répondre

3

Avez-vous rencontré des problèmes de performance ou d'utilisabilité suite à cet avertissement? Si non, il semble que vous devriez traiter cet avertissement comme un simple avertissement.

Sinon, il semble que la solution consiste à augmenter la taille de maxElementsInMemory pour tenir compte de la différence entre ce qui est mis en cache et ce qui est réellement utilisé.

Espérons que cela aide.

2

Avez-vous encore vérifié que le paquet.BannedIP contient réellement ce que vous attendiez?

Vous pouvez utiliser les statistiques par programme pour voir ce qui se passe. Étant donné le bit de configuration que vous avez là, Ehcache ne devrait jamais expulser quoi que ce soit (tant que vous avez moins de 80k instances BannedIP). De plus, pour être clair sur ce que ce message signifie: vous êtes en train de mettre à jour une instance de BannedIP mais, quand la validation arrive, le SoftLock qu'Hibernate a mis en place pour marquer cette entrée est en train de être mis à jour, a été expulsé pour une raison quelconque ... Je me demande pourquoi ces mises à jour prennent autant de temps?

Aussi, bien que je ne fais que penser à haute voix, pourrait-il être un autre processus (mise à jour en vrac) invalide toute la région de cache?

Questions connexes