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.

Reply via email to