Why do u think so. First of all, the output above is not correct. After 3 iteration key-value API strats to return empty value.
Every 5 seconds(iteration sleep time) repository.getAttributes("1").size() is got called. Which makes an entry "touch" and the entry wont be expired for as long as 10 seconds. Expiry policy says: An {@link ExpiryPolicy} that defines the expiry {@link Duration} * of a Cache Entry based on when it was last touched. A touch includes ** creation, update or **access**.* пт, 14 апр. 2017 г. в 18:42, Denis Magda <dma...@apache.org>: > The iteration happens multiple time which means that the key-value API had > to return an empty result set on second or third iteration. But this never > happens. > > In any case, do you want to find a root of the issue and fix it? > Otherwise, we can update the description and wait while someone else fixes > it. > > — > Denis > > > On Apr 14, 2017, at 1:33 AM, ALEKSEY KUZNETSOV <alkuznetsov...@gmail.com> > wrote: > > > > Because expiry time is 10 seconds, while loop iterates every 5 seconds > > > > пт, 14 апр. 2017 г. в 11:32, ALEKSEY KUZNETSOV <alkuznetsov...@gmail.com > >: > > > >> No, the bug is in SQL query, not key-value storage. > >> > >> пт, 14 апр. 2017 г. в 11:11, Vladislav Pyatkov <vldpyat...@gmail.com>: > >> > >>> Denis, Aleksey, > >>> > >>> It is correct, remember I have already said something like[1]. > >>> I have no idea, why this happened in this case with SQL. > >>> > >>> [1]: > >>> > >>> > http://apache-ignite-developers.2346864.n4.nabble.com/TouchedExpiryPolicy-works-incorrect-in-some-cases-IGNITE-4401-td16349.html#a16356 > >>> > >>> On Fri, Apr 14, 2017 at 4:29 AM, Denis Magda <dma...@apache.org> > wrote: > >>> > >>>> I could reproduce the issue and this should be what Denis K. meant by > >>>> saying “expiration policy works incorrectly”. > >>>> > >>>> If you remove the expiration policy from the caches' configuration > then > >>>> the issue disappears. In general, SQL engine processes an expiration > >>> event > >>>> properly because the SQL queries return an empty result set as > expected > >>> but > >>>> something doesn’t work well with key-value operations. > >>>> > >>>> *Denis K*, *Vlad P.*, as creators of the ticket please confirm that > this > >>>> is the case. > >>>> > >>>> Please keep debugging this and switch to the latest Ignite version. > >>>> > >>>> — > >>>> Denis > >>>> > >>>> > >>>>> On Apr 13, 2017, at 4:22 AM, ALEKSEY KUZNETSOV < > >>> alkuznetsov...@gmail.com> > >>>> wrote: > >>>>> > >>>>> any feedback? > >>>>> > >>>>> чт, 13 апр. 2017 г. в 11:51, ALEKSEY KUZNETSOV < > >>> alkuznetsov...@gmail.com > >>>>> : > >>>>> > >>>>>> You should run ExpiryPolicyTest. The output should contain strings > >>> like > >>>>>> contains? new AffinityKey("1", "1"): and contains?2 new > >>>> AffinityKey("1", " > >>>>>> 1"): and empty cursor? = > >>>>>> If you look at them you will see, that cache contains affinity key > >>> new > >>>>>> AffinityKey("1", "1") whereas cursor is empty(on second iteration). > >>> From > >>>>>> this output you can conclude SQL query returns icorrect data(empty > >>>> value) > >>>>>> > >>>>>> > >>>>>> чт, 13 апр. 2017 г. в 3:42, Denis Magda <dma...@apache.org>: > >>>>>> > >>>>>>> Bluntly speaking I have no idea where to look and what to expect. > >>> This > >>>> is > >>>>>>> output of the test execution of my machine: > >>>>>>> > >>>>>>> SQL res: [[1], [d]] > >>>>>>> 2 > >>>>>>> Op consume: 303 > >>>>>>> Value: org.ignite.test.EDU@22db8f4 > >>>>>>> SQL res: [] > >>>>>>> 0 > >>>>>>> Op consume: 9 > >>>>>>> Value: org.ignite.test.EDU@29caf222 > >>>>>>> SQL res: [] > >>>>>>> 0 > >>>>>>> Op consume: 15 > >>>>>>> Value: org.ignite.test.EDU@7cd1ac19 > >>>>>>> SQL res: [] > >>>>>>> 0 > >>>>>>> Op consume: 5 > >>>>>>> > >>>>>>> Please be more specific, there are too many files in the code. > >>>>>>> > >>>>>>> — > >>>>>>> Denis > >>>>>>> > >>>>>>>> On Apr 12, 2017, at 4:50 AM, ALEKSEY KUZNETSOV < > >>>>>>> alkuznetsov...@gmail.com> wrote: > >>>>>>>> > >>>>>>>> So what do u think about the issue ? > >>>>>>>> > >>>>>>>> ср, 12 апр. 2017 г. в 10:42, ALEKSEY KUZNETSOV < > >>>>>>> alkuznetsov...@gmail.com>: > >>>>>>>> > >>>>>>>>> I have already attached simlified version. Shall i simplify it > >>> more ? > >>>>>>>>> > >>>>>>>>> вт, 11 апр. 2017 г. в 19:28, Denis Magda <dma...@apache.org>: > >>>>>>>>> > >>>>>>>>> Can you attach the simplified version? Just want to avoid any > side > >>>>>>> effects. > >>>>>>>>> > >>>>>>>>> — > >>>>>>>>> Denis > >>>>>>>>> > >>>>>>>>>> On Apr 11, 2017, at 9:14 AM, ALEKSEY KUZNETSOV < > >>>>>>> alkuznetsov...@gmail.com> > >>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>> I took it from > https://issues.apache.org/jira/browse/IGNITE-4401 > >>> < > >>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4401> and > >>> simplified . > >>>>>>> See > >>>>>>>>> in attached > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> вт, 11 апр. 2017 г. в 19:03, Denis Magda <dma...@apache.org > >>>> <mailto: > >>>>>>>>> dma...@apache.org>>: > >>>>>>>>>> Hello, > >>>>>>>>>> > >>>>>>>>>> Do you have sample code? > >>>>>>>>>> > >>>>>>>>>> — > >>>>>>>>>> Denis > >>>>>>>>>>> On Apr 11, 2017, at 2:45 AM, ALEKSEY KUZNETSOV < > >>>>>>>>> alkuznetsov...@gmail.com <mailto:alkuznetsov...@gmail.com>> > >>> wrote: > >>>>>>>>>>> > >>>>>>>>>>> Hi, igniters! > >>>>>>>>>>> While doing https://issues.apache.org/jira/browse/IGNITE-4401 > < > >>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4401> ticket i came > >>>>>>>>>>> across the fact that cache querying returns null , while cache > >>>> still > >>>>>>>>> has > >>>>>>>>>>> got entry. > >>>>>>>>>>> Cache query : SELECT nameProp FROM EDUProp WHERE EDUId = 1 > >>>>>>>>>>> Cache get operation : ignite().cache("eduPropCache").get(new > >>>>>>>>> AffinityKey("1", > >>>>>>>>>>> "1")) non-null > >>>>>>>>>>> I cannot even imagine what could be wrong with it. > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> -- > >>>>>>>>>>> > >>>>>>>>>>> *Best Regards,* > >>>>>>>>>>> > >>>>>>>>>>> *Kuznetsov Aleksey* > >>>>>>>>>> > >>>>>>>>>> -- > >>>>>>>>>> Best Regards, > >>>>>>>>>> > >>>>>>>>>> Kuznetsov Aleksey > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> -- > >>>>>>>>> > >>>>>>>>> *Best Regards,* > >>>>>>>>> > >>>>>>>>> *Kuznetsov Aleksey* > >>>>>>>>> > >>>>>>>> -- > >>>>>>>> > >>>>>>>> *Best Regards,* > >>>>>>>> > >>>>>>>> *Kuznetsov Aleksey* > >>>>>>> > >>>>>>> -- > >>>>>> > >>>>>> *Best Regards,* > >>>>>> > >>>>>> *Kuznetsov Aleksey* > >>>>>> > >>>>> -- > >>>>> > >>>>> *Best Regards,* > >>>>> > >>>>> *Kuznetsov Aleksey* > >>>> > >>>> > >>> > >>> > >>> -- > >>> Vladislav Pyatkov > >>> > >> -- > >> > >> *Best Regards,* > >> > >> *Kuznetsov Aleksey* > >> > > -- > > > > *Best Regards,* > > > > *Kuznetsov Aleksey* > > -- *Best Regards,* *Kuznetsov Aleksey*