-
Notifications
You must be signed in to change notification settings - Fork 165
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
Task: Review trivago's findings #357
Comments
Current state of the readme I am going to address: PutTest.putAll_NullKey()
CacheManagerTest createCacheSameName() and createCacheSame()
CacheManagerTest getNullTypeCacheRequest()
org.jsr107.tck.event.CacheListenerTest.testFilteredListener(CacheListenerTest.java:396)
CacheMBStatisticsBeanTest
org.jsr107.tck.processor.CacheInvokeTest.noValueException()
org.jsr107.tck.processor.CacheInvokeTest
org.jsr107.tck.integration.CacheLoaderTest
org.jsr107.tck.integration.CacheWriterTest
org.jsr107.tck.integration.CacheLoaderWithoutReadThroughTest
Unclear spec which kind of Listener should fire on Evictions
Spec: CacheWriter table
org.jst107.tck.??? <<< Determine the test(s) that fail
org.jsr107.tck.RemoveTest
|
PutTest.putAll_NullKey()Yes. TCK change: jsr107/jsr107tck#103 CacheManagerTest createCacheSameName() and createCacheSame()No. Looks okay to me. CacheManagerTest getNullTypeCacheRequest()Yes. Tiny Spec clarfication in the JavaDocs. #361 org.jsr107.tck.event.CacheListenerTest.testFilteredListener(CacheListenerTest.java:396)Yes. Old value is only relevant to updates. It should be clarified. #362 CacheMBStatisticsBeanTestYes. Cleanup: jsr107/jsr107tck#105 org.jsr107.tck.processor.CacheInvokeTest.noValueException()Yes. Already covered by: jsr107/jsr107tck#85 org.jsr107.tck.processor.CacheInvokeTestNo. It is there: org.jsr107.tck.integration.CacheLoaderTestYes. Wrapper exceptions need to be checked for consistency. #346 org.jsr107.tck.integration.CacheLoaderWithoutReadThroughTestYes. #343 Unclear spec which kind of Listener should fire on EvictionsEviction listeners are out of the scope of the Spec. Can you please address the areas that should be clarified? Spec: CacheWriter tableYes. #363 Observation: javax.cache.Cache.Entry and MutableEntry need to be SerializableNo. I am sure it is possible to pass 100% without beeing this serializable. org.jsr107.tck.RemoveTestNo. The Spec defenition and TCK is consistent. Whether the defined behavior makes sense is another question. I think the behavior makes sense in the meaning of defining a consistent behavior, which a standard needs to do for everything, but does not necessarily provide a useful functionality. Maybe a cleaner way would be not to define any Writer effects at all, since this method is primarily meant to operate on the cache. See also the |
@christian-esken Completed the triage. I am only unsure about the eviction listeners. If you have any concrete findings where there are misleading formulations, let me know. |
About the eviction listeners: You are right when saying "Eviction listeners are out of the scope of the Spec.". Yes, and exactly that is the problem. The unfortunate impact for applications is that entries can disappear from the Cache with no chance of the application being notified. So it is a lucky chance:
For real-world scenarios such non-deterministic behavior is often not acceptable. If an application wants to know when an entry disappears from the Cache, it often wants to know that independent of the reason. This is why ehcache sends EVICTED in that case (if I read its source code correctly). |
Correct :) There is another perspective, too:
|
@christian-esken has some findings for the Spec which look quite relevant:
https://github.com/trivago/triava/blob/master/tck/README.md
This is a task for me to look it through and open specific issues for it and give back feedback.
The text was updated successfully, but these errors were encountered: