I wonder if "SELECT" clause should *touch *an entry? For instance, cache.contains() doesn't *touch*.
вт, 18 апр. 2017 г. в 12:21, ALEKSEY KUZNETSOV <alkuznetsov...@gmail.com>: > Yeah. I've already run the test with two caches. Definately, the bug > hidden in cache.query() method. cache.query() calls > IgniteH2Indexing#queryLocalSql(), which calls executeSqlQueryWithTimer, > and then it sinks into JdbcPreparedStatement.executeQuery(). There is no > key-value operations subsequent > > пн, 17 апр. 2017 г. в 21:15, Denis Magda <dma...@apache.org>: > >> It doesn’t matter who is right and who is wrong unless someone gets to >> the bottom of the issue debugging it. >> >> I would suggest to create a simple unit test with two caches and trying >> to reproduce the following without computations and other redundant stuff. >> Would you like to work on this? >> >> — >> Denis >> >> > On Apr 17, 2017, at 12:44 AM, ALEKSEY KUZNETSOV < >> alkuznetsov...@gmail.com> wrote: >> > >> > 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* >> >> -- > > *Best Regards,* > > *Kuznetsov Aleksey* > -- *Best Regards,* *Kuznetsov Aleksey*