Can you please share the code?

On Fri, Feb 4, 2022 at 8:36 AM Sumit Deshinge <sumit.deshi...@gmail.com>
wrote:

> That's correct, but this is when we use Pessimistic + Repeatable_Read
> transaction at Server side where we are using an iterator to read, remove
> and insert into new cache in the transaction. And this issue is not
> observed every time, but intermittently.
>
> And note that, if I don't use transactions or use Optimistic +
> Serializable transactions, then everything works fine.
>
> On Thu, Feb 3, 2022 at 11:24 PM Pavel Tupitsyn <ptupit...@apache.org>
> wrote:
>
>> So we have the following situation:
>> * Put 5000 unique keys with putAll
>> * Use cache iterator, observe less than 5000 keys
>>
>> Is that correct?
>>
>> On Thu, Feb 3, 2022 at 7:53 PM Sumit Deshinge <sumit.deshi...@gmail.com>
>> wrote:
>>
>>> Yes, that I am sure, because the keys are generated using ignite uuid,
>>> which internally is based on hostname, and all the clients are hosted on
>>> machines with unique hostnames.
>>>
>>> On Wed, Feb 2, 2022 at 3:23 PM Pavel Tupitsyn <ptupit...@apache.org>
>>> wrote:
>>>
>>>> Are you sure that all entry keys are unique?
>>>> E.g. if you do 5000 puts but some keys are the same, the result will be
>>>> less than 5000 entries.
>>>>
>>>> On Wed, Feb 2, 2022 at 12:27 PM Sumit Deshinge <
>>>> sumit.deshi...@gmail.com> wrote:
>>>>
>>>>> No, cache does not have entries. Somehow the number of entries
>>>>> returned are less than the number of entries put by all thin clients.
>>>>>
>>>>> On Wed, Feb 2, 2022 at 1:33 PM Pavel Tupitsyn <ptupit...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Do you mean that cache has some entries, but the iterator does not
>>>>>> return them?
>>>>>>
>>>>>> On Wed, Feb 2, 2022 at 10:38 AM Sumit Deshinge <
>>>>>> sumit.deshi...@broadcom.com> wrote:
>>>>>>
>>>>>>> Hi Pavel,
>>>>>>>
>>>>>>> I am trying to remove the data from one cache (on which I am
>>>>>>> iterating) to another cache in transaction.
>>>>>>> When the iterator says no further elements, I again try getting a
>>>>>>> new iterator after few seconds, to check if there is any new data 
>>>>>>> available.
>>>>>>>
>>>>>>> In this process, I am missing one or two entries. But if I remove
>>>>>>> the transaction or add optmistic+serializable instead
>>>>>>> of pessimistic+repeatable_read transaction type, then this loss of data 
>>>>>>> is
>>>>>>> not observed with the same steps mentioned.
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Feb 2, 2022 at 1:00 PM Pavel Tupitsyn <ptupit...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> > While iterating over the cache, data is removed from the cache
>>>>>>>>
>>>>>>>> Sumit, as I understand, you read data while you also remove it, so
>>>>>>>> it is not clear what the expectation is.
>>>>>>>>
>>>>>>>> On Wed, Feb 2, 2022 at 10:28 AM Sumit Deshinge <
>>>>>>>> sumit.deshi...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Thank you Surinder and Pavel. I will give this approach a try.
>>>>>>>>> But even in case of iterator, when I try refreshing the iterator
>>>>>>>>> once it reached to last record, i.e. new iterator, it does not give 
>>>>>>>>> all the
>>>>>>>>> entries as described in the first email steps.
>>>>>>>>>
>>>>>>>>> On Fri, Jan 28, 2022 at 4:08 PM Pavel Tupitsyn <
>>>>>>>>> ptupit...@apache.org> wrote:
>>>>>>>>>
>>>>>>>>>> Cache iterator does not guarantee that you'll see all entries if
>>>>>>>>>> there are concurrent updates, I think you are facing a race 
>>>>>>>>>> condition.
>>>>>>>>>> Please try ContinuousQuery as Surinder suggests, it will catch
>>>>>>>>>> all data changes.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Fri, Jan 28, 2022 at 1:32 PM Surinder Mehra <
>>>>>>>>>> redni...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Just curious, why can't we use continuous query here with
>>>>>>>>>>> "appropriate" event type to write to another cache. So your 
>>>>>>>>>>> listener will
>>>>>>>>>>> do below things
>>>>>>>>>>> 1. Write entry to another cache
>>>>>>>>>>> 2. remove entry from source cache
>>>>>>>>>>>
>>>>>>>>>>> Just an idea, please correct if I am wrong
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Jan 28, 2022 at 3:49 PM Sumit Deshinge <
>>>>>>>>>>> sumit.deshi...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> We are running apache ignite 2.11 with cache configuration
>>>>>>>>>>>> FULL_SYNC and REPLICATED mode.
>>>>>>>>>>>>
>>>>>>>>>>>> Our use case is :
>>>>>>>>>>>>
>>>>>>>>>>>> 1. *Multiple thin clients are adding data* into a cache using
>>>>>>>>>>>> putAll operation.
>>>>>>>>>>>> 2. *Simultaneously the server is reading the data* using
>>>>>>>>>>>> server cache iterator.
>>>>>>>>>>>> 3. *While iterating over the cache, data is removed from the
>>>>>>>>>>>> cache and added into new cache using a transaction*, i.e.
>>>>>>>>>>>> transaction with remove and put operations. We have transaction 
>>>>>>>>>>>> *concurrency
>>>>>>>>>>>> - pessimistic and isolation levels - repeatable_read*.
>>>>>>>>>>>>
>>>>>>>>>>>> But we are seeing few missing entries at server side, i.e.
>>>>>>>>>>>> server is not able to read all the data put by client. E.g. in one 
>>>>>>>>>>>> of the
>>>>>>>>>>>> run, all thin clients put 5000 entries, server is able to read 
>>>>>>>>>>>> only 4999
>>>>>>>>>>>> entries. Here we saw 1 entry was not read by server.
>>>>>>>>>>>>
>>>>>>>>>>>> *Another observation is that, if we remove the transaction in
>>>>>>>>>>>> the second step above, or use optimistic transaction with 
>>>>>>>>>>>> serializable
>>>>>>>>>>>> isolation level, then this issue is not observed*.
>>>>>>>>>>>>
>>>>>>>>>>>> What could be the possible problem in this use case
>>>>>>>>>>>> with pessimistic concurrency and repeatable_read isolation level? 
>>>>>>>>>>>> This is
>>>>>>>>>>>> particularly important as this configuration is resulting in data 
>>>>>>>>>>>> loss.
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Sumit Deshinge
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Regards,
>>>>>>>>> Sumit Deshinge
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Sumit Deshinge
>>>>>>>
>>>>>>> R&D Engineer | Symantec Enterprise Division
>>>>>>>
>>>>>>> Broadcom Software
>>>>>>>
>>>>>>> Email: Sumit Deshinge <sumit.deshi...@broadcom.com>
>>>>>>>
>>>>>>>
>>>>>>> This electronic communication and the information and any files
>>>>>>> transmitted with it, or attached to it, are confidential and are 
>>>>>>> intended
>>>>>>> solely for the use of the individual or entity to whom it is addressed 
>>>>>>> and
>>>>>>> may contain information that is confidential, legally privileged, 
>>>>>>> protected
>>>>>>> by privacy laws, or otherwise restricted from disclosure to anyone 
>>>>>>> else. If
>>>>>>> you are not the intended recipient or the person responsible for 
>>>>>>> delivering
>>>>>>> the e-mail to the intended recipient, you are hereby notified that any 
>>>>>>> use,
>>>>>>> copying, distributing, dissemination, forwarding, printing, or copying 
>>>>>>> of
>>>>>>> this e-mail is strictly prohibited. If you received this e-mail in 
>>>>>>> error,
>>>>>>> please return the e-mail to the sender, delete it from your computer, 
>>>>>>> and
>>>>>>> destroy any printed copy of it.
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Sumit Deshinge
>>>>>
>>>>>
>>>
>>> --
>>> Regards,
>>> Sumit Deshinge
>>>
>>>
>
> --
> Regards,
> Sumit Deshinge
>
>

Reply via email to