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* |
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* |
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* |
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* |
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* |
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* |
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* |
Free forum by Nabble | Edit this page |