You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Александр Меньшиков <sh...@gmail.com> on 2018/06/21 14:48:52 UTC

JCache 1.1: IGNITE-8715 Problems with Closeable objects from Factory

Hi, Igniters!
Can someone give me advice about IGNITE-8715 [1]?
It's a part of IEP-21 [2] about updating to JCache 1.1.

According to JCache 1.0 and 1.1 specifications Cache#close() should clean
up all Closeable objects (CacheLoader, CacheWriter, CacheEntryListener,
ExpiryPolicy) created by factories. And in TCK 1.1 there are tests which
check it.

As I see we haven't such functionality. Am I right?

If so which solution will be the best one? I'm thinking about storing all
closeable objects in something like GridConcurrentHashSet and close all of
them when cache going to be closed.
Thoughts?

[1] https://issues.apache.org/jira/browse/IGNITE-8715
[2]
https://cwiki.apache.org/confluence/display/IGNITE/IEP-21:+JCache+1.1+support
<https://cwiki.apache.org/confluence/display/IGNITE/IEP-21%3A+JCache+1.1+support>

Re: JCache 1.1: IGNITE-8715 Problems with Closeable objects from Factory

Posted by Александр Меньшиков <sh...@gmail.com>.
Hi, Kolay.

This solution looks a bit ugly for me. So I'm not sure about it.
Also, I have tried implementing it but for some reason, only 5 tests start
to pass (95 fails left).
So it's not so obvious where and how cache cleanup happens.

I have found the code which removes for some reason factories from config
at closing time (but doesn't close objects inside).
So maybe there is a raw version of the cleanup mechanism, which I miss.



2018-06-21 18:06 GMT+03:00 Nikolay Izhikov <ni...@apache.org>:

> Hello, Alex.
>
> Issue looks trivial from your description.
> Can you clarify - What is the issues with obvious decision you describe?
>
> В Чт, 21/06/2018 в 17:48 +0300, Александр Меньшиков пишет:
> > Hi, Igniters!
> > Can someone give me advice about IGNITE-8715 [1]?
> > It's a part of IEP-21 [2] about updating to JCache 1.1.
> >
> > According to JCache 1.0 and 1.1 specifications Cache#close() should clean
> > up all Closeable objects (CacheLoader, CacheWriter, CacheEntryListener,
> > ExpiryPolicy) created by factories. And in TCK 1.1 there are tests which
> > check it.
> >
> > As I see we haven't such functionality. Am I right?
> >
> > If so which solution will be the best one? I'm thinking about storing all
> > closeable objects in something like GridConcurrentHashSet and close all
> of
> > them when cache going to be closed.
> > Thoughts?
> >
> > [1] https://issues.apache.org/jira/browse/IGNITE-8715
> > [2]
> > https://cwiki.apache.org/confluence/display/IGNITE/IEP-
> 21:+JCache+1.1+support
> > <https://cwiki.apache.org/confluence/display/IGNITE/IEP-
> 21%3A+JCache+1.1+support>

Re: JCache 1.1: IGNITE-8715 Problems with Closeable objects from Factory

Posted by Nikolay Izhikov <ni...@apache.org>.
Hello, Alex.

Issue looks trivial from your description.
Can you clarify - What is the issues with obvious decision you describe?

В Чт, 21/06/2018 в 17:48 +0300, Александр Меньшиков пишет:
> Hi, Igniters!
> Can someone give me advice about IGNITE-8715 [1]?
> It's a part of IEP-21 [2] about updating to JCache 1.1.
> 
> According to JCache 1.0 and 1.1 specifications Cache#close() should clean
> up all Closeable objects (CacheLoader, CacheWriter, CacheEntryListener,
> ExpiryPolicy) created by factories. And in TCK 1.1 there are tests which
> check it.
> 
> As I see we haven't such functionality. Am I right?
> 
> If so which solution will be the best one? I'm thinking about storing all
> closeable objects in something like GridConcurrentHashSet and close all of
> them when cache going to be closed.
> Thoughts?
> 
> [1] https://issues.apache.org/jira/browse/IGNITE-8715
> [2]
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-21:+JCache+1.1+support
> <https://cwiki.apache.org/confluence/display/IGNITE/IEP-21%3A+JCache+1.1+support>