SQL Queries never instantiate or touch cache entries. Thus SQL queries
never affect any expiration policies.

Sergi

2017-04-19 16:42 GMT+03:00 ALEKSEY KUZNETSOV <alkuznetsov...@gmail.com>:

> 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*
>

Reply via email to