cache query operations

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

cache query operations

voipp
Hi, Igniters! When one fires query like this : ignite().cache(null
).query(...)
The query would be executed against the schema. I wonder, how the schema is
synchronized with cache, with cache entries?

What i mean is , cache.query(...update operation...) must eventually update
the cache entry in cache. But how does it happen?(cache API must be called,
but i cannot realize how)
--

*Best Regards,*

*Kuznetsov Aleksey*
Reply | Threaded
Open this post in threaded view
|

Re: cache query operations

dmagda
Did you have a chance to take a look this documentation that explains how DML statements are turned into cache operations?
https://apacheignite.readme.io/docs/dml#dml-operations <https://apacheignite.readme.io/docs/dml#dml-operations>


Denis

> On Apr 17, 2017, at 7:20 AM, ALEKSEY KUZNETSOV <[hidden email]> wrote:
>
> Hi, Igniters! When one fires query like this : ignite().cache(null
> ).query(...)
> The query would be executed against the schema. I wonder, how the schema is
> synchronized with cache, with cache entries?
>
> What i mean is , cache.query(...update operation...) must eventually update
> the cache entry in cache. But how does it happen?(cache API must be called,
> but i cannot realize how)
> --
>
> *Best Regards,*
>
> *Kuznetsov Aleksey*

Reply | Threaded
Open this post in threaded view
|

Re: cache query operations

voipp
thanx! )

пн, 17 апр. 2017 г. в 21:48, Denis Magda <[hidden email]>:

> Did you have a chance to take a look this documentation that explains how
> DML statements are turned into cache operations?
> https://apacheignite.readme.io/docs/dml#dml-operations <
> https://apacheignite.readme.io/docs/dml#dml-operations>
>
> —
> Denis
>
> > On Apr 17, 2017, at 7:20 AM, ALEKSEY KUZNETSOV <[hidden email]>
> wrote:
> >
> > Hi, Igniters! When one fires query like this : ignite().cache(null
> > ).query(...)
> > The query would be executed against the schema. I wonder, how the schema
> is
> > synchronized with cache, with cache entries?
> >
> > What i mean is , cache.query(...update operation...) must eventually
> update
> > the cache entry in cache. But how does it happen?(cache API must be
> called,
> > but i cannot realize how)
> > --
> >
> > *Best Regards,*
> >
> > *Kuznetsov Aleksey*
>
> --

*Best Regards,*

*Kuznetsov Aleksey*
Reply | Threaded
Open this post in threaded view
|

Re: cache query operations

voipp
if executing sql "select" clause then no cache key-value operations would
be called.
Debbuging cache.query(...) leads
to org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing#executeSqlQuery
which doesnt call cache key-value ops

вт, 18 апр. 2017 г. в 10:49, ALEKSEY KUZNETSOV <[hidden email]>:

> thanx! )
>
> пн, 17 апр. 2017 г. в 21:48, Denis Magda <[hidden email]>:
>
>> Did you have a chance to take a look this documentation that explains how
>> DML statements are turned into cache operations?
>> https://apacheignite.readme.io/docs/dml#dml-operations <
>> https://apacheignite.readme.io/docs/dml#dml-operations>
>>
>> —
>> Denis
>>
>> > On Apr 17, 2017, at 7:20 AM, ALEKSEY KUZNETSOV <
>> [hidden email]> wrote:
>> >
>> > Hi, Igniters! When one fires query like this : ignite().cache(null
>> > ).query(...)
>> > The query would be executed against the schema. I wonder, how the
>> schema is
>> > synchronized with cache, with cache entries?
>> >
>> > What i mean is , cache.query(...update operation...) must eventually
>> update
>> > the cache entry in cache. But how does it happen?(cache API must be
>> called,
>> > but i cannot realize how)
>> > --
>> >
>> > *Best Regards,*
>> >
>> > *Kuznetsov Aleksey*
>>
>> --
>
> *Best Regards,*
>
> *Kuznetsov Aleksey*
>
--

*Best Regards,*

*Kuznetsov Aleksey*
Reply | Threaded
Open this post in threaded view
|

Re: cache query operations

dmagda
That’s true, SELECT queries are executed right away by H2 while DML are eventually converted to key-value operations.


Denis

> On Apr 18, 2017, at 1:29 AM, ALEKSEY KUZNETSOV <[hidden email]> wrote:
>
> if executing sql "select" clause then no cache key-value operations would
> be called.
> Debbuging cache.query(...) leads
> to org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing#executeSqlQuery
> which doesnt call cache key-value ops
>
> вт, 18 апр. 2017 г. в 10:49, ALEKSEY KUZNETSOV <[hidden email]>:
>
>> thanx! )
>>
>> пн, 17 апр. 2017 г. в 21:48, Denis Magda <[hidden email]>:
>>
>>> Did you have a chance to take a look this documentation that explains how
>>> DML statements are turned into cache operations?
>>> https://apacheignite.readme.io/docs/dml#dml-operations <
>>> https://apacheignite.readme.io/docs/dml#dml-operations>
>>>
>>> —
>>> Denis
>>>
>>>> On Apr 17, 2017, at 7:20 AM, ALEKSEY KUZNETSOV <
>>> [hidden email]> wrote:
>>>>
>>>> Hi, Igniters! When one fires query like this : ignite().cache(null
>>>> ).query(...)
>>>> The query would be executed against the schema. I wonder, how the
>>> schema is
>>>> synchronized with cache, with cache entries?
>>>>
>>>> What i mean is , cache.query(...update operation...) must eventually
>>> update
>>>> the cache entry in cache. But how does it happen?(cache API must be
>>> called,
>>>> but i cannot realize how)
>>>> --
>>>>
>>>> *Best Regards,*
>>>>
>>>> *Kuznetsov Aleksey*
>>>
>>> --
>>
>> *Best Regards,*
>>
>> *Kuznetsov Aleksey*
>>
> --
>
> *Best Regards,*
>
> *Kuznetsov Aleksey*

Reply | Threaded
Open this post in threaded view
|

Re: cache query operations

voipp
So, when GridCacheTtlManager evicted cache entry due to timeout, how H2 got
notified about it ?

And as i understand, firstly cacheEntry got evicted, and then H2 data got
updated(removed corresponding entry)

вт, 18 апр. 2017 г. в 17:56, Denis Magda <[hidden email]>:

> That’s true, SELECT queries are executed right away by H2 while DML are
> eventually converted to key-value operations.
>
> —
> Denis
>
> > On Apr 18, 2017, at 1:29 AM, ALEKSEY KUZNETSOV <[hidden email]>
> wrote:
> >
> > if executing sql "select" clause then no cache key-value operations would
> > be called.
> > Debbuging cache.query(...) leads
> > to
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing#executeSqlQuery
> > which doesnt call cache key-value ops
> >
> > вт, 18 апр. 2017 г. в 10:49, ALEKSEY KUZNETSOV <[hidden email]
> >:
> >
> >> thanx! )
> >>
> >> пн, 17 апр. 2017 г. в 21:48, Denis Magda <[hidden email]>:
> >>
> >>> Did you have a chance to take a look this documentation that explains
> how
> >>> DML statements are turned into cache operations?
> >>> https://apacheignite.readme.io/docs/dml#dml-operations <
> >>> https://apacheignite.readme.io/docs/dml#dml-operations>
> >>>
> >>> —
> >>> Denis
> >>>
> >>>> On Apr 17, 2017, at 7:20 AM, ALEKSEY KUZNETSOV <
> >>> [hidden email]> wrote:
> >>>>
> >>>> Hi, Igniters! When one fires query like this : ignite().cache(null
> >>>> ).query(...)
> >>>> The query would be executed against the schema. I wonder, how the
> >>> schema is
> >>>> synchronized with cache, with cache entries?
> >>>>
> >>>> What i mean is , cache.query(...update operation...) must eventually
> >>> update
> >>>> the cache entry in cache. But how does it happen?(cache API must be
> >>> called,
> >>>> but i cannot realize how)
> >>>> --
> >>>>
> >>>> *Best Regards,*
> >>>>
> >>>> *Kuznetsov Aleksey*
> >>>
> >>> --
> >>
> >> *Best Regards,*
> >>
> >> *Kuznetsov Aleksey*
> >>
> > --
> >
> > *Best Regards,*
> >
> > *Kuznetsov Aleksey*
>
> --

*Best Regards,*

*Kuznetsov Aleksey*
Reply | Threaded
Open this post in threaded view
|

Re: cache query operations

dmagda
I can’t answer on this question because didn’t develop that part of the system.

Could you try to find this out debugging the code?


Denis

> On Apr 18, 2017, at 8:00 AM, ALEKSEY KUZNETSOV <[hidden email]> wrote:
>
> So, when GridCacheTtlManager evicted cache entry due to timeout, how H2 got
> notified about it ?
>
> And as i understand, firstly cacheEntry got evicted, and then H2 data got
> updated(removed corresponding entry)
>
> вт, 18 апр. 2017 г. в 17:56, Denis Magda <[hidden email]>:
>
>> That’s true, SELECT queries are executed right away by H2 while DML are
>> eventually converted to key-value operations.
>>
>> —
>> Denis
>>
>>> On Apr 18, 2017, at 1:29 AM, ALEKSEY KUZNETSOV <[hidden email]>
>> wrote:
>>>
>>> if executing sql "select" clause then no cache key-value operations would
>>> be called.
>>> Debbuging cache.query(...) leads
>>> to
>> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing#executeSqlQuery
>>> which doesnt call cache key-value ops
>>>
>>> вт, 18 апр. 2017 г. в 10:49, ALEKSEY KUZNETSOV <[hidden email]
>>> :
>>>
>>>> thanx! )
>>>>
>>>> пн, 17 апр. 2017 г. в 21:48, Denis Magda <[hidden email]>:
>>>>
>>>>> Did you have a chance to take a look this documentation that explains
>> how
>>>>> DML statements are turned into cache operations?
>>>>> https://apacheignite.readme.io/docs/dml#dml-operations <
>>>>> https://apacheignite.readme.io/docs/dml#dml-operations>
>>>>>
>>>>> —
>>>>> Denis
>>>>>
>>>>>> On Apr 17, 2017, at 7:20 AM, ALEKSEY KUZNETSOV <
>>>>> [hidden email]> wrote:
>>>>>>
>>>>>> Hi, Igniters! When one fires query like this : ignite().cache(null
>>>>>> ).query(...)
>>>>>> The query would be executed against the schema. I wonder, how the
>>>>> schema is
>>>>>> synchronized with cache, with cache entries?
>>>>>>
>>>>>> What i mean is , cache.query(...update operation...) must eventually
>>>>> update
>>>>>> the cache entry in cache. But how does it happen?(cache API must be
>>>>> called,
>>>>>> but i cannot realize how)
>>>>>> --
>>>>>>
>>>>>> *Best Regards,*
>>>>>>
>>>>>> *Kuznetsov Aleksey*
>>>>>
>>>>> --
>>>>
>>>> *Best Regards,*
>>>>
>>>> *Kuznetsov Aleksey*
>>>>
>>> --
>>>
>>> *Best Regards,*
>>>
>>> *Kuznetsov Aleksey*
>>
>> --
>
> *Best Regards,*
>
> *Kuznetsov Aleksey*