Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Session timing issue during server shutdown #22221

Closed
zhang-ca opened this issue Aug 22, 2022 · 1 comment
Closed

Session timing issue during server shutdown #22221

zhang-ca opened this issue Aug 22, 2022 · 1 comment
Assignees
Labels
release bug This bug is present in a released version of Open Liberty release:220010

Comments

@zhang-ca
Copy link
Contributor

zhang-ca commented Aug 22, 2022

Describe the bug
Cache service timing issue. It happens that the invalidation thread hits in the middle of cacheservice teardown.

Steps to Reproduce
Run com.ibm.ws.session.cache_fat_infinispan_container and com.ibm.ws.session.cache_fat tests

Expected behavior
Protect any calls to sessionMetaCache methods in CacheHashMap.performInvalidation()
//Process the non-listener sessions first
doInvalidations();
//Read in all the sessions with listeners that need to be invalidated
processInvalidListeners();

Diagnostic information:
org.infinispan.jcache.remote.JCache.checkNotClosed(JCache.java:423)
org.infinispan.jcache.remote.JCache.iterator(JCache.java:406)
at com.ibm.ws.session.store.cache.CacheHashMap.processInvalidListeners(CacheHashMap.java:1103)
at com.ibm.ws.session.store.cache.CacheHashMap.performInvalidation(CacheHashMap.java:995)

Ref: RTC defect 291209

@zhang-ca zhang-ca added the release bug This bug is present in a released version of Open Liberty label Aug 22, 2022
@zhang-ca zhang-ca self-assigned this Aug 22, 2022
@zhang-ca
Copy link
Contributor Author

There is a large window there for shutdown to effect it. For now PR #22222 will be enough to fix most of the cases, though we may want to test if iterating over the iterator after a jcache closes causes an error. That is, check before the cache.iterator() call, and check before calling .hasNext() or .next() as it is possible it makes call out to the remote cache. That chunk of logic maybe time consuming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release bug This bug is present in a released version of Open Liberty release:220010
Projects
None yet
Development

No branches or pull requests

4 participants