You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Prasad Bhalerao <pr...@gmail.com> on 2018/07/09 12:37:20 UTC

cache configuration FULL_SYNC

Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory
cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite
transaction?( I am using write through approach.)


Thanks,
Prasad

Re: cache configuration FULL_SYNC

Posted by Prasad Bhalerao <pr...@gmail.com>.
I understand that FULL_SYNC is required to keep the consistency between
primary data node and backup data node and not between the cache and 3rd
party data.
Sorry for asking the incorrect question.

1) Does ignite supports write through updates to 3rd party store when using
update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency
between in memory cache and 3rd party data store?

Thanks,
Prasad


On Mon, Jul 9, 2018 at 6:07 PM Prasad Bhalerao <pr...@gmail.com>
wrote:

> Hi,
>
> I am using FULL_SYNC cache write synchronization mode.
> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
> memory cache and 3rd party data store (oracle in my case)?
>
> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
> transaction?( I am using write through approach.)
>
>
> Thanks,
> Prasad
>

Re: cache configuration FULL_SYNC

Posted by Evgenii Zhuravlev <e....@gmail.com>.
Ignite internally guarantees that write through to the 3rd party cache
store will be consistent with the update of the cache.

Evgenii

2018-07-09 17:50 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:

> When you have multiple data sources (cache and oracle in this case) which
> should be updated in single transaction we use JTA. But with ignite
> transaction and ignite write through approach I don't have to use JTA.
> To keep the cache and oracle consistent one needs transaction.  In this
> case one update operation spans to multiple data sources.
>
> On Mon, Jul 9, 2018 at 8:05 PM Evgenii Zhuravlev <e....@gmail.com>
> wrote:
>
>> No, you're not correct, each insert/update will be consistent between
>> cache and DB, transactions are not about consistency between cache and
>> oracle database here, it's about more than one operation, as in an
>> example I've shared in my previous message.
>>
>> Evgenii
>>
>> 2018-07-09 17:24 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>
>> :
>>
>>> Thank you for the clarification.
>>>
>>> Ignite does not support transactions with jdbc updates. So if I use
>>> delete/update SQL to delete/update the multiple cache entries, ignite will
>>> not provide strong consistency between cache and oracle database.
>>> Am I correct?
>>>
>>> On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <
>>> e.zhuravlev.wk@gmail.com> wrote:
>>>
>>>> 1. As this doc says: https://apacheignite.readme.
>>>> io/docs/3rd-party-store: Ignite writes through results of its SQL
>>>> INSERT, UPDATE and MERGE queries.
>>>> 2. Transaction in Ignite means absolutely the same as in another
>>>> systems. If you want two or more changes to be in one transaction(i.e.,
>>>> classic example with transfer between bank accounts), then, for sure, you
>>>> need to use transactions.
>>>>
>>>> Evgenii
>>>>
>>>> 2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <
>>>> prasadbhalerao1983@gmail.com>:
>>>>
>>>>> Resending my last mail ...
>>>>>
>>>>> I understand that FULL_SYNC is required to keep the consistency
>>>>> between primary data node and backup data node and not between the cache
>>>>> and 3rd party data.
>>>>> Sorry for asking the incorrect question.
>>>>>
>>>>> 1) Does ignite supports write through updates to 3rd party store when
>>>>> using update or delete sql?
>>>>>
>>>>> 2) Is it mandatory to use ignite transaction to keep strong
>>>>> consistency between in memory cache and 3rd party data store?
>>>>> -Like you said, if I am updating more than one entry in cache then
>>>>> transaction is necessary to keep strong consistency between 3rd party db
>>>>> and ignite cache. Am I correct?
>>>>>
>>>>> Thanks,
>>>>> Prasad
>>>>>
>>>>> On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <
>>>>> e.zhuravlev.wk@gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> 1. Cache write synchronization mode is not about 3rd party store,
>>>>>> it's about waiting for write replies from other nodes. But Ignite
>>>>>> with enabled 3rd party store guarantees consistency itself.
>>>>>>
>>>>>> 2. Ignite creates implicit transactions for atomic updates to
>>>>>> guarantee consistency between nodes. If you want to make more than one
>>>>>> update in transaction, then, of course, you should use explicit Ignite
>>>>>> transactions.
>>>>>>
>>>>>> Evgenii
>>>>>>
>>>>>> 2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <
>>>>>> prasadbhalerao1983@gmail.com>:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I am using FULL_SYNC cache write synchronization mode.
>>>>>>> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
>>>>>>> memory cache and 3rd party data store (oracle in my case)?
>>>>>>>
>>>>>>> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
>>>>>>> transaction?( I am using write through approach.)
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Prasad
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>

Re: cache configuration FULL_SYNC

Posted by Prasad Bhalerao <pr...@gmail.com>.
When you have multiple data sources (cache and oracle in this case) which
should be updated in single transaction we use JTA. But with ignite
transaction and ignite write through approach I don't have to use JTA.
To keep the cache and oracle consistent one needs transaction.  In this
case one update operation spans to multiple data sources.

On Mon, Jul 9, 2018 at 8:05 PM Evgenii Zhuravlev <e....@gmail.com>
wrote:

> No, you're not correct, each insert/update will be consistent between
> cache and DB, transactions are not about consistency between cache and
> oracle database here, it's about more than one operation, as in an
> example I've shared in my previous message.
>
> Evgenii
>
> 2018-07-09 17:24 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:
>
>> Thank you for the clarification.
>>
>> Ignite does not support transactions with jdbc updates. So if I use
>> delete/update SQL to delete/update the multiple cache entries, ignite will
>> not provide strong consistency between cache and oracle database.
>> Am I correct?
>>
>> On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <
>> e.zhuravlev.wk@gmail.com> wrote:
>>
>>> 1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store:
>>> Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
>>> 2. Transaction in Ignite means absolutely the same as in another
>>> systems. If you want two or more changes to be in one transaction(i.e.,
>>> classic example with transfer between bank accounts), then, for sure, you
>>> need to use transactions.
>>>
>>> Evgenii
>>>
>>> 2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <prasadbhalerao1983@gmail.com
>>> >:
>>>
>>>> Resending my last mail ...
>>>>
>>>> I understand that FULL_SYNC is required to keep the consistency between
>>>> primary data node and backup data node and not between the cache and 3rd
>>>> party data.
>>>> Sorry for asking the incorrect question.
>>>>
>>>> 1) Does ignite supports write through updates to 3rd party store when
>>>> using update or delete sql?
>>>>
>>>> 2) Is it mandatory to use ignite transaction to keep strong consistency
>>>> between in memory cache and 3rd party data store?
>>>> -Like you said, if I am updating more than one entry in cache then
>>>> transaction is necessary to keep strong consistency between 3rd party db
>>>> and ignite cache. Am I correct?
>>>>
>>>> Thanks,
>>>> Prasad
>>>>
>>>> On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <
>>>> e.zhuravlev.wk@gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> 1. Cache write synchronization mode is not about 3rd party store, it's
>>>>> about waiting for write replies from other nodes. But Ignite with
>>>>> enabled 3rd party store guarantees consistency itself.
>>>>>
>>>>> 2. Ignite creates implicit transactions for atomic updates to
>>>>> guarantee consistency between nodes. If you want to make more than one
>>>>> update in transaction, then, of course, you should use explicit Ignite
>>>>> transactions.
>>>>>
>>>>> Evgenii
>>>>>
>>>>> 2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <
>>>>> prasadbhalerao1983@gmail.com>:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am using FULL_SYNC cache write synchronization mode.
>>>>>> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
>>>>>> memory cache and 3rd party data store (oracle in my case)?
>>>>>>
>>>>>> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
>>>>>> transaction?( I am using write through approach.)
>>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> Prasad
>>>>>>
>>>>>
>>>>>
>>>
>

Re: cache configuration FULL_SYNC

Posted by Evgenii Zhuravlev <e....@gmail.com>.
No, you're not correct, each insert/update will be consistent between cache
and DB, transactions are not about consistency between cache and oracle
database here, it's about more than one operation, as in an example I've
shared in my previous message.

Evgenii

2018-07-09 17:24 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:

> Thank you for the clarification.
>
> Ignite does not support transactions with jdbc updates. So if I use
> delete/update SQL to delete/update the multiple cache entries, ignite will
> not provide strong consistency between cache and oracle database.
> Am I correct?
>
> On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <e....@gmail.com>
> wrote:
>
>> 1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store:
>> Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
>> 2. Transaction in Ignite means absolutely the same as in another systems.
>> If you want two or more changes to be in one transaction(i.e., classic
>> example with transfer between bank accounts), then, for sure, you need to
>> use transactions.
>>
>> Evgenii
>>
>> 2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>
>> :
>>
>>> Resending my last mail ...
>>>
>>> I understand that FULL_SYNC is required to keep the consistency between
>>> primary data node and backup data node and not between the cache and 3rd
>>> party data.
>>> Sorry for asking the incorrect question.
>>>
>>> 1) Does ignite supports write through updates to 3rd party store when
>>> using update or delete sql?
>>>
>>> 2) Is it mandatory to use ignite transaction to keep strong consistency
>>> between in memory cache and 3rd party data store?
>>> -Like you said, if I am updating more than one entry in cache then
>>> transaction is necessary to keep strong consistency between 3rd party db
>>> and ignite cache. Am I correct?
>>>
>>> Thanks,
>>> Prasad
>>>
>>> On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <
>>> e.zhuravlev.wk@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> 1. Cache write synchronization mode is not about 3rd party store, it's
>>>> about waiting for write replies from other nodes. But Ignite with
>>>> enabled 3rd party store guarantees consistency itself.
>>>>
>>>> 2. Ignite creates implicit transactions for atomic updates to guarantee
>>>> consistency between nodes. If you want to make more than one update in
>>>> transaction, then, of course, you should use explicit Ignite transactions.
>>>>
>>>> Evgenii
>>>>
>>>> 2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <
>>>> prasadbhalerao1983@gmail.com>:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am using FULL_SYNC cache write synchronization mode.
>>>>> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
>>>>> memory cache and 3rd party data store (oracle in my case)?
>>>>>
>>>>> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
>>>>> transaction?( I am using write through approach.)
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Prasad
>>>>>
>>>>
>>>>
>>

Re: cache configuration FULL_SYNC

Posted by Prasad Bhalerao <pr...@gmail.com>.
Thank you for the clarification.

Ignite does not support transactions with jdbc updates. So if I use
delete/update SQL to delete/update the multiple cache entries, ignite will
not provide strong consistency between cache and oracle database.
Am I correct?

On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <e....@gmail.com>
wrote:

> 1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store:
> Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
> 2. Transaction in Ignite means absolutely the same as in another systems.
> If you want two or more changes to be in one transaction(i.e., classic
> example with transfer between bank accounts), then, for sure, you need to
> use transactions.
>
> Evgenii
>
> 2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:
>
>> Resending my last mail ...
>>
>> I understand that FULL_SYNC is required to keep the consistency between
>> primary data node and backup data node and not between the cache and 3rd
>> party data.
>> Sorry for asking the incorrect question.
>>
>> 1) Does ignite supports write through updates to 3rd party store when
>> using update or delete sql?
>>
>> 2) Is it mandatory to use ignite transaction to keep strong consistency
>> between in memory cache and 3rd party data store?
>> -Like you said, if I am updating more than one entry in cache then
>> transaction is necessary to keep strong consistency between 3rd party db
>> and ignite cache. Am I correct?
>>
>> Thanks,
>> Prasad
>>
>> On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <
>> e.zhuravlev.wk@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> 1. Cache write synchronization mode is not about 3rd party store, it's
>>> about waiting for write replies from other nodes. But Ignite with
>>> enabled 3rd party store guarantees consistency itself.
>>>
>>> 2. Ignite creates implicit transactions for atomic updates to guarantee
>>> consistency between nodes. If you want to make more than one update in
>>> transaction, then, of course, you should use explicit Ignite transactions.
>>>
>>> Evgenii
>>>
>>> 2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <prasadbhalerao1983@gmail.com
>>> >:
>>>
>>>> Hi,
>>>>
>>>> I am using FULL_SYNC cache write synchronization mode.
>>>> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
>>>> memory cache and 3rd party data store (oracle in my case)?
>>>>
>>>> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
>>>> transaction?( I am using write through approach.)
>>>>
>>>>
>>>> Thanks,
>>>> Prasad
>>>>
>>>
>>>
>

Re: cache configuration FULL_SYNC

Posted by Evgenii Zhuravlev <e....@gmail.com>.
1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store:
Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
2. Transaction in Ignite means absolutely the same as in another systems.
If you want two or more changes to be in one transaction(i.e., classic
example with transfer between bank accounts), then, for sure, you need to
use transactions.

Evgenii

2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:

> Resending my last mail ...
>
> I understand that FULL_SYNC is required to keep the consistency between
> primary data node and backup data node and not between the cache and 3rd
> party data.
> Sorry for asking the incorrect question.
>
> 1) Does ignite supports write through updates to 3rd party store when
> using update or delete sql?
>
> 2) Is it mandatory to use ignite transaction to keep strong consistency
> between in memory cache and 3rd party data store?
> -Like you said, if I am updating more than one entry in cache then
> transaction is necessary to keep strong consistency between 3rd party db
> and ignite cache. Am I correct?
>
> Thanks,
> Prasad
>
> On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <e....@gmail.com>
> wrote:
>
>> Hi,
>>
>> 1. Cache write synchronization mode is not about 3rd party store, it's
>> about waiting for write replies from other nodes. But Ignite with
>> enabled 3rd party store guarantees consistency itself.
>>
>> 2. Ignite creates implicit transactions for atomic updates to guarantee
>> consistency between nodes. If you want to make more than one update in
>> transaction, then, of course, you should use explicit Ignite transactions.
>>
>> Evgenii
>>
>> 2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>
>> :
>>
>>> Hi,
>>>
>>> I am using FULL_SYNC cache write synchronization mode.
>>> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
>>> memory cache and 3rd party data store (oracle in my case)?
>>>
>>> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
>>> transaction?( I am using write through approach.)
>>>
>>>
>>> Thanks,
>>> Prasad
>>>
>>
>>

Re: cache configuration FULL_SYNC

Posted by Prasad Bhalerao <pr...@gmail.com>.
Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between
primary data node and backup data node and not between the cache and 3rd
party data.
Sorry for asking the incorrect question.

1) Does ignite supports write through updates to 3rd party store when using
update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency
between in memory cache and 3rd party data store?
-Like you said, if I am updating more than one entry in cache then
transaction is necessary to keep strong consistency between 3rd party db
and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <e....@gmail.com>
wrote:

> Hi,
>
> 1. Cache write synchronization mode is not about 3rd party store, it's
> about waiting for write replies from other nodes. But Ignite with enabled 3rd
> party store guarantees consistency itself.
>
> 2. Ignite creates implicit transactions for atomic updates to guarantee
> consistency between nodes. If you want to make more than one update in
> transaction, then, of course, you should use explicit Ignite transactions.
>
> Evgenii
>
> 2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:
>
>> Hi,
>>
>> I am using FULL_SYNC cache write synchronization mode.
>> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
>> memory cache and 3rd party data store (oracle in my case)?
>>
>> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
>> transaction?( I am using write through approach.)
>>
>>
>> Thanks,
>> Prasad
>>
>
>

Re: cache configuration FULL_SYNC

Posted by Evgenii Zhuravlev <e....@gmail.com>.
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's
about waiting for write replies from other nodes. But Ignite with enabled 3rd
party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee
consistency between nodes. If you want to make more than one update in
transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <pr...@gmail.com>:

> Hi,
>
> I am using FULL_SYNC cache write synchronization mode.
> 1) Does FULL_SYNC mode guarantees 100% consistency between ignite in
> memory cache and 3rd party data store (oracle in my case)?
>
> 2) Does FULL_SYNC mode requires to do the cache updates in ignite
> transaction?( I am using write through approach.)
>
>
> Thanks,
> Prasad
>