Hi,

 

I have the following problem. I am struggling with the configuration of the infinispan local cache. Especially with the configuration of "max-entries". In the previous version of Keycloak (1.7.0), the "max-entries" was doing exactly what I have expected - it was not possible to enter more entries than max-entries value. On the other hand, in the Keycloak 1.9.2 it seems that it is possible. At least with the configuration I have in the standalone.xml

 

<cache-container name="myCacheContainer"> 

    <local-cache name="myCache"> 

        <eviction strategy="LRU" max-entries="2"/> 

        <expiration lifespan="600000"/> 

    </local-cache> 

</cache-container>

My testing scenario is following: I have deployed my application to the Wildfly where the KC is running. In my app I was accessing instance of MyCache to add value to the cache using some REST endpoint. Then I was using another REST endpoint to display the content of MyCache. In the previous version of KC, I was able to add exactly 2 entries. Adding third one caused the first one to be replaced. In KC 1.9.2, the number of entries keeps growing like if there is no limit for it.

The way I am using the cache in code is pretty standard. Here is MyCache class:

@ManagedBean  
@Singleton  
@Named("myCache")  
public class MyCache implements IMyCache<String, String> {  
 
  @Resource(lookup = "java:jboss/infinispan/container/myCacheContainer")  
  protected EmbeddedCacheManager container;  
  private Cache<String, String> cache;  
 
  @PostConstruct  
  @Override  
  public void init() {  
    this.cache = container.getCache("myCache");  
  }  
    ...  
}
 

MyCache class is then injected to the class with REST resources where it is a part of some business logic.

I would appreciate any suggestions or hints how to fix this.

 

Thanks.