Hi  Slava Koptilin,
Thank you for your email,
I am working on this changes. keep you posted.

Regards,
Charlin


On Thu, 13 Jun 2024 at 12:09, Вячеслав Коптилин <slava.kopti...@gmail.com>
wrote:

> Hello Charlin,
>
> As I wrote, the first option is the `full sync` mode:
> CacheConfiguration.WriteSynchronizationMode =
> CacheWriteSynchronizationMode.FullSync [1]
> The second one is disabling reading from backups:
> CacheConfiguration.ReadFromBackup = false [2]
>
> [1]
> https://ignite.apache.org/releases/latest/dotnetdoc/api/Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteSynchronizationMode
> [2]
> https://ignite.apache.org/releases/latest/dotnetdoc/api/Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadFromBackup
>
> Thanks,
> S.
>
>
> ср, 12 июн. 2024 г. в 12:58, Charlin S <charli...@hotelhub.com>:
>
>> Hi  Slava Koptilin
>>
>> Thanks for your email.
>>
>> Cache configuration used at time of cache creation in C# code. Please
>> suggest me if any configuration changes required in cache level or grid
>> level
>> CacheConfiguration.CopyOnRead=false
>> CacheConfiguration.EagerTtl=true
>> CacheConfiguration.CacheMode = CacheMode.Partitioned
>> CacheConfiguration.Backups = 1
>>
>> *Client node xml bean*
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>        xmlns:util="http://www.springframework.org/schema/util";
>>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>>
>> http://www.springframework.org/schema/beans/spring-beans.xsd
>>                            http://www.springframework.org/schema/util
>>
>> http://www.springframework.org/schema/util/spring-util.xsd";>
>>   <bean class="org.apache.ignite.configuration.IgniteConfiguration">
>>     <property name="clientMode" value="true"/>
>>     <property name="clientFailureDetectionTimeout" value="120000"/>
>>     <property name="igniteInstanceName" value="DynamicGrid_Prod"/>
>>     <property name="longQueryWarningTimeout" value="4000"/>
>>     <property name="failureDetectionTimeout" value="120000"/>
>>     <property name="localHost" value="1.0.0.3"/>
>>     <property name="segmentationPolicy" value="RESTART_JVM"/>
>>     <property name="segmentCheckFrequency" value="20000"/>
>>     <property name="segmentationResolveAttempts" value="10"/>
>>     <property name="discoverySpi">
>>       <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>> <property name="localPort" value="55500"/>
>>         <property name="ipFinder">
>>           <bean
>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
>>             <property name="addresses">
>>               <list>
>> <value>1.0.0.1:55500</value>
>>
>> <value>1.0.0.2:55500</value>
>>               </list>
>>             </property>
>>           </bean>
>>         </property>
>>       </bean>
>>     </property>
>> <property name="communicationSpi">
>>         <bean
>> class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
>>    <property name="sharedMemoryPort" value="-1"/>
>>             <property name="localPort" value="55605"/>
>>         </bean>
>>     </property>
>>   </bean>
>> </beans>
>>
>> *Server node xml bean*
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>        xmlns:util="http://www.springframework.org/schema/util";
>>        xsi:schemaLocation="http://www.springframework.org/schema/beans
>>
>> http://www.springframework.org/schema/beans/spring-beans.xsd
>>                            http://www.springframework.org/schema/util
>>
>> http://www.springframework.org/schema/util/spring-util.xsd";>
>>   <bean id="expireCache"
>> class="org.apache.ignite.configuration.CacheConfiguration" abstract="true">
>>     <property name="expiryPolicyFactory">
>>         <bean class="javax.cache.expiry.CreatedExpiryPolicy"
>> factory-method="factoryOf">
>>             <constructor-arg>
>>                 <bean class="javax.cache.expiry.Duration">
>>                     <constructor-arg value="MINUTES"/>
>>                     <constructor-arg value="60"/>
>>                 </bean>
>>             </constructor-arg>
>>        </bean>
>>     </property>
>>   </bean>
>>   <bean class="org.apache.ignite.configuration.IgniteConfiguration">
>>     <property name="clientMode" value="false"/>
>>     <property name="clientFailureDetectionTimeout" value="120000"/>
>>     <property name="igniteInstanceName" value="DynamicGrid_Prod"/>
>>     <property name="longQueryWarningTimeout" value="4000"/>
>>     <property name="failureDetectionTimeout" value="120000"/>
>>     <property name="localHost" value="1.0.0.1"/>
>>     <property name="segmentationPolicy" value="RESTART_JVM"/>
>>     <property name="segmentCheckFrequency" value="20000"/>
>>     <property name="segmentationResolveAttempts" value="10"/>
>>     <property name="discoverySpi">
>>       <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>>         <property name="localPort" value="55500"/>
>>         <property name="ipFinder">
>>           <bean
>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
>>             <property name="addresses">
>>               <list>
>>                         <value>1.0.0.1:55500</value>
>>                         <value>1.0.0.2:55500</value>
>>               </list>
>>             </property>
>>           </bean>
>>         </property>
>>       </bean>
>>     </property>
>>    <property name="cacheConfiguration">
>>                         <list>
>>                                 <bean parent="expireCache">
>>                                         <property name="name"
>> value="TestModel1"/>
>>                                 </bean>
>>                                 <bean parent="expireCache">
>>                                         <property name="name"
>> value="TestModel2"/>
>>                                 </bean>
>>                                 <bean parent="expireCache">
>>                                         <property name="name"
>> value="TestModel3"/>
>>                                 </bean>
>>                                 <bean parent="expireCache">
>>                                         <property name="name"
>> value="TestModel4"/>
>>                                 </bean>
>>                                 <bean parent="expireCache">
>>                                         <property name="name"
>> value="TestModel5"/>
>>                                 </bean>
>>                         </list>
>>                 </property>
>>         <property name="dataStorageConfiguration">
>>             <bean
>> class="org.apache.ignite.configuration.DataStorageConfiguration">
>>                 <property name="defaultDataRegionConfiguration">
>>                     <bean
>> class="org.apache.ignite.configuration.DataRegionConfiguration">
>>                         <property name="name"
>> value="Common_Dynamic_Data_Region"/>
>>                         <property name="initialSize" value="#{1L * 1024 *
>> 1024 * 1024}"/>
>>                         <property name="maxSize" value="#{18L * 1024 *
>> 1024 * 1024}"/>
>>                         <property name="pageEvictionMode"
>> value="RANDOM_2_LRU"/>
>>                         <property name="evictionThreshold" value="0.7"/>
>>                         <property name="emptyPagesPoolSize"
>> value="65536"/>
>>                     </bean>
>>                 </property>
>>             </bean>
>>         </property>
>>         <property name="communicationSpi">
>>         <bean
>> class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
>>             <property name="sharedMemoryPort" value="-1"/>
>>             <property name="localPort" value="55605"/>
>>         </bean>
>>     </property>
>>   </bean>
>> </beans>
>>
>> Thanks & Regards,
>> Charlin
>>
>>
>>
>> On Wed, 12 Jun 2024 at 13:07, Вячеслав Коптилин <slava.kopti...@gmail.com>
>> wrote:
>>
>>> Hi Charlin,
>>>
>>> I mean that it might be "well-known" behavior if you use `primary sync`
>>> mode and the `readFromBackup` property equals `true` (which is `true` by
>>> default).
>>>
>>> The first option, to overcome this problem, is using `full sync` mode.
>>> In that case, the update request will wait for the write to complete on all
>>> participating nodes (primary and backups).
>>> The second option, that can be used here, is to use 'primary sync' and
>>> set 'CacheConfiguration#readFromBackup' flag to false. Ignite will always
>>> send the request to the primary node and get the value from there.
>>>
>>> Thanks,
>>> S.
>>>
>>> пн, 10 июн. 2024 г. в 14:22, Вячеслав Коптилин <slava.kopti...@gmail.com
>>> >:
>>>
>>>> Hello Charlin,
>>>>
>>>> Could you share your cache configuration? Specifically, what values are
>>>> used for `readFromBackup` and `writeSynchronizationMode`.
>>>>
>>>> Thanks,
>>>> S.
>>>>
>>>> ср, 5 июн. 2024 г. в 15:49, Charlin S <charli...@hotelhub.com>:
>>>>
>>>>> Hi All,
>>>>> I am unable to fetch data from cache by reading by
>>>>> key.intermittently (very rarely).
>>>>>
>>>>> Ignite version: 2.10
>>>>> Cache mode: Partition
>>>>> Client : C# with Ignite thick client
>>>>>
>>>>> Scenario:
>>>>> My C# application received a request for cache data insertion
>>>>> @ 09:09:35 and successfully insertion initiated at application side.
>>>>> Thereafter @ 09:10:21 C# application received a request to read cache
>>>>> data for the same key and Ignite TryGet could not fetch data.
>>>>> Note: We are able to get cache data by the same key after some time.
>>>>>
>>>>> Cache creation code
>>>>> var IgniteCache= IIgnite.GetCache<string, cacheModel>("cacheModel")
>>>>>         .WithExpiryPolicy(new ExpiryPolicy(
>>>>>              TimeSpan.FromMinutes(60),
>>>>>              TimeSpan.FromMinutes(60),
>>>>>              TimeSpan.FromMinutes(60)
>>>>>              ));
>>>>>
>>>>> Cache data insertion code
>>>>> IgniteCache.Put(cacheKey, (T)data);
>>>>>
>>>>> Cache data reading code
>>>>>   IgniteCache.TryGet(Key, out var value);
>>>>>
>>>>> Thanks & Regards,
>>>>> Charlin
>>>>>
>>>>>
>>>>>
>>>>>

Reply via email to