Now the client starts, but cannot connect to a server. How do I start a
server, do you use a config file or something else?

On Tue, Sep 20, 2022 at 9:15 AM Charlin S <[email protected]> wrote:

> Hi,
> Sorry for inconvenience, I have removed local machine path dependency.
>
> Regards,
> Charlin
>
>
> On Tue, 20 Sept 2022 at 11:04, Pavel Tupitsyn <[email protected]>
> wrote:
>
>> Still can't run, sorry. It has hardcoded directories from your machine
>> (IgniteSettings.IGNITE_HOME, IgniteSettings.WorkDirectory - commented them
>> out), and also GlobalVariables.IgniteSettings.ConfigurationPath:
>>
>> > Spring XML configuration path is invalid:
>> D:\NGSourceCode\IgniteConfig\Labs/common_dynamiccache_client_config.xml
>>
>> Please make sure the zip file has everything required to run the
>> application on any machine.
>>
>> On Mon, Sep 19, 2022 at 5:07 PM Charlin S <[email protected]> wrote:
>>
>>> Hi,
>>> I have attached here.
>>> Regards,
>>> Charlin
>>>
>>>
>>> On Mon, 19 Sept 2022 at 19:00, Pavel Tupitsyn <[email protected]>
>>> wrote:
>>>
>>>> I get an exception when trying to run the code:
>>>>
>>>> Unhandled exception. System.NullReferenceException: Object reference
>>>> not set to an instance of an object.
>>>>    at ConsoleApp4.IgniteInstance..ctor() in
>>>> /home/pavel/Downloads/ConsoleApp4/ConsoleApp4/ConsoleApp4/IgniteInstance.cs:line
>>>> 47
>>>>    at ConsoleApp4.IgniteInstance.get_Instance() in
>>>> /home/pavel/Downloads/ConsoleApp4/ConsoleApp4/ConsoleApp4/IgniteInstance.cs:line
>>>> 33
>>>>    at ConsoleApp4.UnitOfWork..ctor() in
>>>> /home/pavel/Downloads/ConsoleApp4/ConsoleApp4/ConsoleApp4/UnitOfWork.cs:line
>>>> 15
>>>>    at ConsoleApp4.Program.Main(String[] args) in
>>>> /home/pavel/Downloads/ConsoleApp4/ConsoleApp4/ConsoleApp4/Program.cs:line 
>>>> 12
>>>>
>>>> On Mon, Sep 19, 2022 at 3:04 PM Charlin S <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>> Cache EexpiryPolicy is 60 minutes. but cache key failing in between
>>>>> and return data after some time so its not due to expiry policy.
>>>>> I have prepared a separate solution and attached it here. I am sharing
>>>>> a cache data reading time screenshot for your reference .
>>>>> [image: image.png]
>>>>> Regards,
>>>>> Charlin
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, 19 Sept 2022 at 11:00, Pavel Tupitsyn <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> The code you provided above uses ExpiryPolicy. It might be the reason
>>>>>> for TryGet to return false - cache entry expires.
>>>>>> To provide a definitive answer we need a project that runs and
>>>>>> demonstrates the problem.
>>>>>>
>>>>>> On Fri, Sep 16, 2022 at 5:12 PM Charlin S <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> sorry for inconvenience. It's 90% actual code only. I have changed
>>>>>>> cache name and grid name as per policy. I have to prepare a separate
>>>>>>> solution and provide you if required.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Charlin
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, 16 Sept 2022 at 19:11, Pavel Tupitsyn <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> It does not have to be your actual code, just something that
>>>>>>>> demonstrates the problem
>>>>>>>>
>>>>>>>> On Fri, Sep 16, 2022 at 4:40 PM Pavel Tupitsyn <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Can you please share a complete project that I can run and see
>>>>>>>>> the issue?
>>>>>>>>>
>>>>>>>>> On Fri, Sep 16, 2022 at 4:30 PM Charlin S <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>> Sorry I am not able to share a complete solution. bean xml
>>>>>>>>>> attached  and code snippet in below
>>>>>>>>>> IgniteConfiguration igniteGridIg = new IgniteConfiguration();
>>>>>>>>>>             igniteGridIg.AutoGenerateIgniteInstanceName = true;
>>>>>>>>>>             if
>>>>>>>>>> (!string.IsNullOrEmpty(GlobalVariables.IgniteSettings.IGNITE_HOME))
>>>>>>>>>>             {
>>>>>>>>>>                 igniteGridIg.IgniteHome =
>>>>>>>>>> GlobalVariables.IgniteSettings.IGNITE_HOME;
>>>>>>>>>>             }
>>>>>>>>>>             var gridDetails =
>>>>>>>>>> GlobalVariables.IgniteSettings.GridDetails.Where(gd =>
>>>>>>>>>> gd.GridType.Equals("DynamicGrid",
>>>>>>>>>> StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
>>>>>>>>>>             //setting ignite working directory if not ignite will
>>>>>>>>>> run with default work directory
>>>>>>>>>>             if
>>>>>>>>>> (!string.IsNullOrEmpty(GlobalVariables.IgniteSettings.WorkDirectory))
>>>>>>>>>>             {
>>>>>>>>>>                 igniteGridIg.WorkDirectory =
>>>>>>>>>> Path.Combine(GlobalVariables.IgniteSettings.WorkDirectory,
>>>>>>>>>> gridDetails.CacheType);
>>>>>>>>>>             }
>>>>>>>>>>             if (null != gridDetails)
>>>>>>>>>>             {
>>>>>>>>>>                 GridName = gridDetails.GridName;
>>>>>>>>>>                 igniteGridIg.SpringConfigUrl =
>>>>>>>>>> Path.Combine(GlobalVariables.IgniteSettings.ConfigurationPath,
>>>>>>>>>> gridDetails.SpringXMLFileName);
>>>>>>>>>>                 igniteGridIg.ConsistentId =
>>>>>>>>>> Guid.NewGuid().ToString().ToUpper();
>>>>>>>>>>                 ICollection<string> lstJvmOptions = null;
>>>>>>>>>>
>>>>>>>>>> //"IgniteJVMOption":
>>>>>>>>>> "-XX:+DisableExplicitGC,-XX:+UseG1GC,-Xms1g,-Xmx2g"
>>>>>>>>>>                 if
>>>>>>>>>> (string.IsNullOrEmpty(gridDetails.IgniteJVMOption))
>>>>>>>>>>                 {
>>>>>>>>>>                     lstJvmOptions =
>>>>>>>>>> GlobalVariables.IgniteSettings.IgniteJVMOptionDefault.Split(',').Where(x
>>>>>>>>>>  =>
>>>>>>>>>> !string.IsNullOrWhiteSpace(x)).ToList();
>>>>>>>>>>                 }
>>>>>>>>>>                 else
>>>>>>>>>>                     lstJvmOptions =
>>>>>>>>>> gridDetails.IgniteJVMOption.Split(',').Where(x =>
>>>>>>>>>> !string.IsNullOrWhiteSpace(x)).ToList();
>>>>>>>>>>
>>>>>>>>>>                 if (lstJvmOptions.Any())
>>>>>>>>>>                     igniteGridIg.JvmOptions = lstJvmOptions;
>>>>>>>>>> int RetryCount = 0;
>>>>>>>>>>                 while (InstanceObject == null)
>>>>>>>>>>                 {
>>>>>>>>>>                     try
>>>>>>>>>>                     {
>>>>>>>>>>                         RetryCount++;
>>>>>>>>>>                         //Try to start Ignite
>>>>>>>>>>                         if
>>>>>>>>>> (!String.IsNullOrEmpty(ApplicationSettingKeys.Get<string>("IgniteInstanceRetryLimit"))
>>>>>>>>>> && RetryCount >
>>>>>>>>>> (ApplicationSettingKeys.Get<int>("IgniteInstanceRetryLimit")))
>>>>>>>>>>                         {
>>>>>>>>>>                             break;
>>>>>>>>>>                         }
>>>>>>>>>>                         //Try to start Ignite
>>>>>>>>>>                         if
>>>>>>>>>> (String.IsNullOrEmpty(ApplicationSettingKeys.Get<string>("IgniteDynamicCacheGrid")))
>>>>>>>>>>                             InstanceObject =
>>>>>>>>>> Ignition.Start(igniteGridIg);
>>>>>>>>>>                         else
>>>>>>>>>>                             InstanceObject =
>>>>>>>>>> Ignition.TryGetIgnite(ApplicationSettingKeys.Get<string>("IgniteDynamicCacheGrid"))
>>>>>>>>>> ?? Ignition.Start(igniteGridIg);
>>>>>>>>>>                     }
>>>>>>>>>>                     catch (Exception ex) //If failing to start
>>>>>>>>>> Ignite, wait a bit for the previous AppDomain to stop the Ignite 
>>>>>>>>>> running
>>>>>>>>>> instance...
>>>>>>>>>>                     {
>>>>>>>>>>                         logContextInfo.ErrorLogger(ex);
>>>>>>>>>>
>>>>>>>>>>                     }
>>>>>>>>>>                 }
>>>>>>>>>>
>>>>>>>>>>  public ICache<string, testModel> testModelICache { get; set; }
>>>>>>>>>>
>>>>>>>>>> using (new Log4NetTimeLogHelper(logContextInfo, "testModelModel",
>>>>>>>>>> "testModelModel"))
>>>>>>>>>>                 {
>>>>>>>>>>
>>>>>>>>>>                         testModelICache = testModelICache ??
>>>>>>>>>> InstanceObject.GetCache<string, testModelModel>("testModelModel")
>>>>>>>>>> .WithExpiryPolicy(new ExpiryPolicy(
>>>>>>>>>> TimeSpan.FromMinutes(GlobalVariables.testModelExpiryTime),
>>>>>>>>>> TimeSpan.FromMinutes(GlobalVariables.testModelExpiryTime),
>>>>>>>>>> TimeSpan.FromMinutes(GlobalVariables.testModelExpiryTime)
>>>>>>>>>> ));
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> public CacheServiceResponse GetCacheById(string Key)
>>>>>>>>>> {
>>>>>>>>>> CacheServiceResponse response = new CacheServiceResponse();
>>>>>>>>>>             var model = (T)Activator.CreateInstance(typeof(T));
>>>>>>>>>>             try
>>>>>>>>>>             {
>>>>>>>>>>
>>>>>>>>>>                     IgniteCache.TryGet(Key, out var value);
>>>>>>>>>>                     var k = IgniteCache.TryGetAsync(Key);
>>>>>>>>>>                     if (null != value)
>>>>>>>>>>                     {
>>>>>>>>>>                         model = (T)value;
>>>>>>>>>>                         response.SingleObject = model;
>>>>>>>>>>                         response.Status = true;
>>>>>>>>>>                         response.StatusCode =
>>>>>>>>>> System.Net.HttpStatusCode.OK;
>>>>>>>>>>                     }
>>>>>>>>>>                     else
>>>>>>>>>>                     {
>>>>>>>>>>                         response.Status = false;
>>>>>>>>>>                         response.Message = "Given key " + Key + "
>>>>>>>>>> not present in the cache.";
>>>>>>>>>>                         response.StatusCode =
>>>>>>>>>> System.Net.HttpStatusCode.NoContent;
>>>>>>>>>>                     }
>>>>>>>>>>
>>>>>>>>>>             }cache(exception ex)
>>>>>>>>>> {
>>>>>>>>>> }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Charlin
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Fri, 16 Sept 2022 at 18:22, Pavel Tupitsyn <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Can you share a reproducer?
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Sep 16, 2022 at 3:13 PM Charlin S <
>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>> Data loss is not possible, because some other time I am able to
>>>>>>>>>>>> read data with the same key.
>>>>>>>>>>>>
>>>>>>>>>>>> FYI: data update not in our workflow(Please ignore my previous
>>>>>>>>>>>> mail statement it is possible to update the cache by another
>>>>>>>>>>>> process/workflow). Always data read only once cache inserted
>>>>>>>>>>>> by key.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Charlin
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, 16 Sept 2022 at 17:21, Pavel Tupitsyn <
>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Ok, so the issue is that the key is not present in the cache,
>>>>>>>>>>>>> and this is not expected.
>>>>>>>>>>>>> Data loss is possible if one of Ignite nodes goes down, and
>>>>>>>>>>>>> backups [1] are not configured.
>>>>>>>>>>>>> Please check server logs for errors.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1]
>>>>>>>>>>>>> https://ignite.apache.org/docs/latest/configuring-caches/configuring-backups
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Sep 16, 2022 at 2:38 PM Charlin S <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>> There is no exception and executing the else part. it is
>>>>>>>>>>>>>> possible to update the cache by another process/workflow.
>>>>>>>>>>>>>> //response is custom class object
>>>>>>>>>>>>>> var model = (T)Activator.CreateInstance(typeof(T));
>>>>>>>>>>>>>> IgniteCache.TryGet(Key, out var value);
>>>>>>>>>>>>>>                     if (null != value)
>>>>>>>>>>>>>>                     {
>>>>>>>>>>>>>>                         model = (T)value;
>>>>>>>>>>>>>>                         response.SingleObject = model;
>>>>>>>>>>>>>>                         response.Status = true;
>>>>>>>>>>>>>>                         response.StatusCode =
>>>>>>>>>>>>>> System.Net.HttpStatusCode.OK;
>>>>>>>>>>>>>>                     }
>>>>>>>>>>>>>>                     else
>>>>>>>>>>>>>>                     {
>>>>>>>>>>>>>>                         response.Status = false;
>>>>>>>>>>>>>>                         response.Message = "Given key " + Key
>>>>>>>>>>>>>> + " not present in the cache.";
>>>>>>>>>>>>>>                         response.StatusCode =
>>>>>>>>>>>>>> System.Net.HttpStatusCode.NoContent;
>>>>>>>>>>>>>>                     }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Charlin
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Fri, 16 Sept 2022 at 16:53, Pavel Tupitsyn <
>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Charlin,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Please provide full exception details.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, Sep 16, 2022 at 2:04 PM Charlin S <
>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>> Cache.TryGet failed to read intermittently and was unable
>>>>>>>>>>>>>>>> to read some time later.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> having 3 server nodes and 11 client nodes. cache mode is
>>>>>>>>>>>>>>>> partition and atomicitymode not been set.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Charlin
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>

Reply via email to