Return-Path: X-Original-To: apmail-ignite-user-archive@minotaur.apache.org Delivered-To: apmail-ignite-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BD49918F05 for ; Mon, 4 Apr 2016 12:26:36 +0000 (UTC) Received: (qmail 4312 invoked by uid 500); 4 Apr 2016 12:26:36 -0000 Delivered-To: apmail-ignite-user-archive@ignite.apache.org Received: (qmail 4266 invoked by uid 500); 4 Apr 2016 12:26:36 -0000 Mailing-List: contact user-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ignite.apache.org Delivered-To: mailing list user@ignite.apache.org Received: (qmail 4256 invoked by uid 99); 4 Apr 2016 12:26:36 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Apr 2016 12:26:36 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id EAE38C05EF for ; Mon, 4 Apr 2016 12:26:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.279 X-Spam-Level: * X-Spam-Status: No, score=1.279 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gridgain-com.20150623.gappssmtp.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id LyuF1RJs0dpq for ; Mon, 4 Apr 2016 12:26:30 +0000 (UTC) Received: from mail-oi0-f41.google.com (mail-oi0-f41.google.com [209.85.218.41]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 644375F5CD for ; Mon, 4 Apr 2016 12:26:30 +0000 (UTC) Received: by mail-oi0-f41.google.com with SMTP id y204so47930348oie.3 for ; Mon, 04 Apr 2016 05:26:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gridgain-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=STkLWX6pH91p9WH9yXd4+QAhRCzuoHpBYAPukSIH0zE=; b=D4gid+LjrhczgwxglrOSzW5sCOMXO38dQh/GRCnNa18yIxtHiiedLnQ7Jg0V7psAwz Z8lqKTAGAVCA5i8rI2g0kC1jZgeVzS0HXBR208llOAUoiloy10agufyGG9oqKjlE+c1m nBkj1WFtC8Z/jWFvO3lT87z1QCk7WpvTgP180nfvjGAakaN5FuSF8jJImOKJKENotKvt G9/IY6Kd+WyKpOcPBQGPj4nt2qcEwBezayzcb9bKqVerc0MdkkrTH2++v08aOkIsVEwa SqnClZlKeEjsqQm7WdeqCOV2GIw/yMu274ihKt3SZxXP+6vAbxlELOIuhHbmWK9fcsf8 wQNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=STkLWX6pH91p9WH9yXd4+QAhRCzuoHpBYAPukSIH0zE=; b=PnIjAd9xvXUj1kH0kEKJN6mmsZQsqXuYs4ejzK6cJ8PwZcs4IS9rsyHyZsT6QXVWYR i3RbMG4QmqLa3Q43XpVfG7HeK7F6hY4NnfRAu0St2MnBiUHAeJ0nR8/ULV34A25l7VaB SpKZzoOYL2LE4Phzzi65uf2WOhVziJ4x+GWVJ1bhlPW6hI9vhQzH/jiAgHO+xsUHQXi1 qnSnA9q5Eajwu3FxKjb3ET51LhrhCnluyca1NAB/GMojeZJ4hc6TMBTT/4i2+Sq0zNja D3QvFlrPmPo8TdFSWE/wqzfcnCmJ6IFfc77Ctu9yDmBVrwBUz5rAR7gYJq/3iX02L0fm BalQ== X-Gm-Message-State: AD7BkJJb6n7YHAgKp3O83+lBYUOphk3+8YXpkOZosqULyN/3pY8IfryPvIagLR92JDIG3rXR8EsClPamaIS8Nc8W X-Received: by 10.157.54.11 with SMTP id w11mr9713238otb.103.1459772789651; Mon, 04 Apr 2016 05:26:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.31.70 with HTTP; Mon, 4 Apr 2016 05:26:00 -0700 (PDT) In-Reply-To: References: From: Pavel Tupitsyn Date: Mon, 4 Apr 2016 15:26:00 +0300 Message-ID: Subject: Re: SQLServer Persistence Store Error To: user@ignite.apache.org Content-Type: multipart/alternative; boundary=001a113f2b82948ee0052fa7d654 --001a113f2b82948ee0052fa7d654 Content-Type: text/plain; charset=UTF-8 Instead of LoadCache, can you try a simple cache put and see what happens? cache[1] = new CustomTransactionsDetail(); and with entity from EF: cache[2] = entities.CustomTransactionsDetails.First(); Pavel. On Mon, Apr 4, 2016 at 3:20 PM, Murthy Kakarlamudi wrote: > Sorry....attached the wrong version. Below is the full entity class and > the CacheStore implementation. > > namespace MyIgnite > { > using System; > using System.Collections.Generic; > > public partial class CustomTransactionsDetail > { > public Nullable TransactionID { get; set; } > public string InstrumentTypeName { get; set; } > public string InstrumentTypeShortName { get; set; } > public string DealType { get; set; } > public string PutCall { get; set; } > public Nullable Expiry { get; set; } > public string Side { get; set; } > public Nullable Comodity1Month { get; set; } > public Nullable Comodity2Month { get; set; } > public Nullable Asset1 { get; set; } > public Nullable Asset2 { get; set; } > public Nullable QtyAsset1 { get; set; } > public Nullable QtyAsset2 { get; set; } > public Nullable StrikePrice { get; set; } > public Nullable RiskFreeRate { get; set; } > public Nullable CostOfCarry1 { get; set; } > public Nullable CostOfCarry2 { get; set; } > public Nullable VolatilityAsset1 { get; set; } > public Nullable VolatilityAsset2 { get; set; } > public Nullable FixedPrice { get; set; } > public Nullable BUID { get; set; } > public Nullable PortfolioID { get; set; } > public Nullable StrategyID { get; set; } > public Nullable CPID { get; set; } > public Nullable TraderID { get; set; } > public Nullable InsTypeID { get; set; } > public string ListOfAllIndexText { get; set; } > public Nullable MvStartMonth { get; set; } > public string SourceSysName { get; set; } > public Nullable EndOfDayDate { get; set; } > public Nullable DealSideGPID { get; set; } > public Nullable ProfileID { get; set; } > public Nullable InstrumentSeqNo { get; set; } > public Nullable InstrumentSourceID { get; set; } > public string EventSourceName { get; set; } > public string CFlowTypeID { get; set; } > public string RTStatName { get; set; } > public string TranStatName { get; set; } > public Nullable SequenceNo { get; set; } > public Nullable TimeStamp { get; set; } > public Nullable CustomTransHeaderID { get; set; } > public int CustomTransDetailID { get; set; } > public string IndexName1 { get; set; } > public string IndexName2 { get; set; } > public Nullable LTD_PNL { get; set; } > } > } > > public override void LoadCache(Action act, params > object[] args) > { > try { > var customTxnDetailsList = > entities.CustomTransactionsDetails; > // Iterate over whole underlying store and call act on > each entry to load it into the cache. > foreach (CustomTransactionsDetail entry in > customTxnDetailsList) > { > Console.WriteLine("Adding to cache: {0}", > entry.CustomTransDetailID); > act(entry.CustomTransDetailID, entry); > > } > }catch(Exception e) > { > Console.WriteLine("Exception is {0}", e); > } > > } > > static void Main(string[] args) > { > var cfg = new IgniteConfiguration > { > SpringConfigUrl = > @"C:\Data\Professional\dotnet\workspace\MyIgnite\MyIgniteConsole\config\ignite.xml", > JvmOptions = new List { "-Xms512m", "-Xmx1024m" } > }; > //Ignition.ClientMode = true; > using (var ignite = Ignition.Start(cfg)) > { > Console.WriteLine(">>> Cache query example started"); > var cache = ignite.GetCache CustomTransactionsDetail>(null); > > cache.LoadCache(null); > > Console.ReadLine(); > } > > > Console.ReadLine(); > } > > There are no other parts to these files. These POCOs are generated by > Entity Framework. Please let me know if you need additional information. > > Satya. > > On Mon, Apr 4, 2016 at 8:11 AM, Pavel Tupitsyn > wrote: > >> Satya, >> >> In your code above there is "act(entry.personDetailID, entry);", >> but there is no personDetailID member in the CustomTransactionsDetail >> class. >> Are you sure this is the correct one? Also, it is a partial class - are >> there any parts in other files? >> >> Can you attach full source code of your application? >> >> Thanks, >> Pavel. >> >> On Mon, Apr 4, 2016 at 2:59 PM, Murthy Kakarlamudi >> wrote: >> >>> Below is my entity. I am not doing any serialization currently while >>> storing in the cache. >>> >>> namespace MyIgnite >>> { >>> using System; >>> using System.Collections.Generic; >>> >>> public partial class CustomTransactionsDetail >>> { >>> public Nullable TransactionID { get; set; } >>> public string TypeName { get; set; } >>> public Nullable Expiry { get; set; } >>> public string Side { get; set; } >>> public Nullable TimeStamp { get; set; } >>> public Nullable CustomTransHeaderID { get; set; } >>> public int CustomTransDetailID { get; set; } >>> >>> } >>> } >>> >>> Thanks, >>> Satya. >>> >>> On Mon, Apr 4, 2016 at 7:50 AM, Pavel Tupitsyn >>> wrote: >>> >>>> Satya, >>>> >>>> Looks like exception comes from your entity member(s) during >>>> serialization. >>>> >>>> Can you please attach your entity class code? >>>> * Does it have any navigation properties that may cause SQL queries? >>>> * How do you serialize it in Ignite? (Do you implement IBinarizable?) >>>> >>>> Thanks, >>>> >>>> Pavel. >>>> >>>> >>>> >>>> On Mon, Apr 4, 2016 at 2:13 PM, Murthy Kakarlamudi >>>> wrote: >>>> >>>>> Hi Pavel, >>>>> Thanks for your response. I stepped through the LoadCache method in >>>>> debug mode and noticed that it is failing at the act() method. Below is my >>>>> code for LoacCache. >>>>> >>>>> public override void LoadCache(Action act, params >>>>> object[] args) >>>>> { >>>>> var personDetailsList = entities.personDetails; >>>>> // Iterate over whole underlying store and call act on >>>>> each entry to load it into the cache. >>>>> foreach (personDetail entry in personDetailsList) >>>>> { >>>>> Console.WriteLine("Adding to cache: " + >>>>> entry.personDetailID); >>>>> act(entry.personDetailID, entry); >>>>> >>>>> } >>>>> >>>>> } >>>>> >>>>> I can see the statement: "Adding to cache: " in the node output and >>>>> the control hangs at the next line executing the "act" method and then it >>>>> throws SQLException Timeout. Not sure why the "act" method is taking so >>>>> much time to store the entries in cache. >>>>> >>>>> For testing, I commented out "act" statement and the program completed >>>>> looping through all the entries returned by Entity Framework without any >>>>> errors. >>>>> >>>>> Thanks, >>>>> Satya. >>>>> >>>>> On Mon, Apr 4, 2016 at 4:40 AM, Pavel Tupitsyn >>>> > wrote: >>>>> >>>>>> Hi Satya, >>>>>> >>>>>> "*Timeout expired. The timeout period elapsed prior to completion >>>>>> of the operation or the server is not responding.*" >>>>>> This is an SQL exception. Please make sure that your entity >>>>>> connection works. >>>>>> You can set a breakpoint on the first line of LoadCache method, step >>>>>> over your code and see what happens. Or wrap it in try-catch block. >>>>>> >>>>>> Meanwhile, looks like cache store error messages are not very >>>>>> informative. >>>>>> I've added a Jira ticket, we'll fix it shortly: >>>>>> https://issues.apache.org/jira/browse/IGNITE-2943 >>>>>> >>>>>> Thank you, >>>>>> >>>>>> Pavel >>>>>> >>>>>> On Mon, Apr 4, 2016 at 7:07 AM, Murthy Kakarlamudi >>>>>> wrote: >>>>>> >>>>>>> Hello all, >>>>>>> I was able to resolve the error I posted above. I had to >>>>>>> basically add the relevant EntityFramwork references in the solution that >>>>>>> runs my Ignite server node. After successfully creating the cache, however >>>>>>> I am running into the below timeout issue: >>>>>>> >>>>>>> [00:02:37] Ignite node started OK (id=cf8c5e00) >>>>>>> [00:02:37] Topology snapshot [ver=1, servers=1, clients=0, CPUs=4, >>>>>>> heap=0.89GB] >>>>>>> *>>> Cache query example started* >>>>>>> *Adding to cache: 228505* >>>>>>> [00:03:10,524][SEVERE][pub-#10%null%][GridJobWorker] Failed to >>>>>>> execute job [jobId=bcc9f6fd351-cf8c5e00-c86f-4e58-b0ad-6754896baf34, >>>>>>> ses=GridJobSessionImpl [ses=GridTaskSessionImpl >>>>>>> [taskName=o.a.i.i.processors.cache.GridCacheAdapter$LoadCacheClosure, >>>>>>> dep=LocalDeployment [super=GridDeployment [ts=1459742547098, >>>>>>> depMode=SHARED, clsLdr=sun.misc.Launcher$AppClassLoader@764c12b6, >>>>>>> clsLdrId=a9c9f6fd351-cf8c5e00-c86f-4e58-b0ad-6754896baf34, userVer=0, >>>>>>> loc=true, sampleClsName=java.lang.String, pendingUndeploy=false, >>>>>>> undeployed=false, usage=0]], >>>>>>> taskClsName=o.a.i.i.processors.cache.GridCacheAdapter$LoadCacheClosure, >>>>>>> sesId=acc9f6fd351-cf8c5e00-c86f-4e58-b0ad-6754896baf34, >>>>>>> startTime=1459742557568, endTime=9223372036854775807, >>>>>>> taskNodeId=cf8c5e00-c86f-4e58-b0ad-6754896baf34, >>>>>>> clsLdr=sun.misc.Launcher$AppClassLoader@764c12b6, closed=false, >>>>>>> cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, >>>>>>> subjId=cf8c5e00-c86f-4e58-b0ad-6754896baf34, mapFut=IgniteFuture >>>>>>> [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1459742557584, >>>>>>> endTime=0, ignoreInterrupts=false, lsnr=null, state=INIT]]], >>>>>>> jobId=bcc9f6fd351-cf8c5e00-c86f-4e58-b0ad-6754896baf34]] >>>>>>> class org.apache.ignite.IgniteException: class >>>>>>> org.apache.ignite.IgniteException: Timeout expired. The timeout period >>>>>>> elapsed prior to completion of the operation or the server is not >>>>>>> responding. >>>>>>> at >>>>>>> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1792 >>>>>>> >>>>>>> Apache.Ignite.Core.Cache.Store.CacheStoreException was unhandled >>>>>>> HResult=-2146233088 >>>>>>> Message=class org.apache.ignite.IgniteException: *Timeout >>>>>>> expired. The timeout period elapsed prior to completion of the operation >>>>>>> or the server is not responding.* >>>>>>> Source=Apache.Ignite.Core >>>>>>> StackTrace: >>>>>>> at >>>>>>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* target, >>>>>>> Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* >>>>>>> errMsgChars, Int32 errMsgCharsLen, Void* errData, Int32 errDataLen) >>>>>>> at >>>>>>> Apache.Ignite.Core.Impl.Unmanaged.IgniteJniNativeMethods.TargetInStreamOutLong(Void* >>>>>>> ctx, Void* target, Int32 opType, Int64 memPtr) >>>>>>> at >>>>>>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.TargetInStreamOutLong(IUnmanagedTarget >>>>>>> target, Int32 opType, Int64 memPtr) >>>>>>> at Apache.Ignite.Core.Impl.PlatformTarget.DoOutOp(Int32 type, >>>>>>> Action`1 action) >>>>>>> at MyIgniteConsole.Program.Main(String[] args) in >>>>>>> C:\Data\Professional\dotnet\workspace\MyIgnite\MyIgniteConsole\Program.cs:line >>>>>>> 29 >>>>>>> at System.AppDomain._nExecuteAssembly(RuntimeAssembly >>>>>>> assembly, String[] args) >>>>>>> at System.AppDomain.ExecuteAssembly(String assemblyFile, >>>>>>> Evidence assemblySecurity, String[] args) >>>>>>> at >>>>>>> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() >>>>>>> at >>>>>>> System.Threading.ExecutionContext.RunInternal(ExecutionContext >>>>>>> executionContext, ContextCallback callback, Object state, Boolean >>>>>>> preserveSyncCtx) >>>>>>> at System.Threading.ExecutionContext.Run(ExecutionContext >>>>>>> executionContext, ContextCallback callback, Object state, Boolean >>>>>>> preserveSyncCtx) >>>>>>> at System.Threading.ExecutionContext.Run(ExecutionContext >>>>>>> executionContext, ContextCallback callback, Object state) >>>>>>> at System.Threading.ThreadHelper.ThreadStart() >>>>>>> InnerException: >>>>>>> >>>>>>> From my main program, I am making below call: >>>>>>> cache.LoadCache(null); >>>>>>> >>>>>>> In my store implementation I have the following overide method: >>>>>>> public override void LoadCache(Action act, params >>>>>>> object[] args) >>>>>>> { >>>>>>> var personDetailsList = entities.personDetails; >>>>>>> // Iterate over whole underlying store and call act on >>>>>>> each entry to load it into the cache. >>>>>>> foreach (personDetail entry in personDetailsList) >>>>>>> { >>>>>>> Console.WriteLine("Adding to cache: " + >>>>>>> entry.personDetailID); >>>>>>> act(entry.personDetailID, entry); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> thanks in advance for your help... >>>>>>> >>>>>>> Satya. >>>>>>> >>>>>>> >>>>>>> On Sat, Apr 2, 2016 at 11:49 AM, Murthy Kakarlamudi < >>>>>>> ksatya@gmail.com> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> In my .NET application, I have an underlying SQL Server DB that >>>>>>>> I am planning to access using Ignite Persistence feature. I was following >>>>>>>> the StoreExample provided in the examples and created the ignite >>>>>>>> configuration accordingly. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> class="org.apache.ignite.configuration.CacheConfiguration"> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory"> >>>>>>>> >>>>>>> value="MyIgnite.SQLServerStore, MyIgnite"/> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> My SQLServerStore which is part of MyIgnite dll is as below. I am >>>>>>>> using EntityFramework as ORM to access underlying SQLServer. >>>>>>>> >>>>>>>> class SQLServerStore : CacheStoreAdapter >>>>>>>> { >>>>>>>> private TestEntities entities; >>>>>>>> public SQLServerStore() >>>>>>>> { >>>>>>>> entities = new TestEntities(); >>>>>>>> } >>>>>>>> >>>>>>>> /// >>>>>>>> /// Loads all values from underlying persistent storage. >>>>>>>> /// This method gets called as a result of >>>>>>> cref="ICache{TK,TV}.LoadCache"/> call. >>>>>>>> /// >>>>>>>> /// Action that loads a cache >>>>>>>> entry. >>>>>>>> /// Optional arguments. >>>>>>>> public override void LoadCache(Action act, >>>>>>>> params object[] args) >>>>>>>> { >>>>>>>> var personDetailsList = entities.PersonDetails; >>>>>>>> // Iterate over whole underlying store and call act on >>>>>>>> each entry to load it into the cache. >>>>>>>> foreach (personDetail entry in personDetailsList) >>>>>>>> { >>>>>>>> act(entry.personD, entry); >>>>>>>> } >>>>>>>> >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> Whwn I try to run the above, I am getting the below error. >>>>>>>> >>>>>>>> Apache.Ignite.Core.Common.IgniteException was unhandled >>>>>>>> HResult=-2146233088 >>>>>>>> Message=Exception has been thrown by the target of an invocation. >>>>>>>> Source=Apache.Ignite.Core >>>>>>>> StackTrace: >>>>>>>> at >>>>>>>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* target, >>>>>>>> Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* >>>>>>>> errMsgChars, Int32 errMsgCharsLen, Void* errData, Int32 errDataLen) >>>>>>>> at >>>>>>>> Apache.Ignite.Core.Impl.Unmanaged.IgniteJniNativeMethods.IgnitionStart(Void* >>>>>>>> ctx, SByte* cfgPath, SByte* gridName, Int32 factoryId, Int64 dataPtr) >>>>>>>> at >>>>>>>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.IgnitionStart(UnmanagedContext >>>>>>>> ctx, String cfgPath, String gridName, Boolean clientMode) >>>>>>>> at Apache.Ignite.Core.Ignition.Start(IgniteConfiguration cfg) >>>>>>>> at MyIgniteConsole.Program.Main(String[] args) in >>>>>>>> C:\Data\Professional\dotnet\workspace\MyIgnite\MyIgniteConsole\Program.cs:line >>>>>>>> 21 >>>>>>>> at System.AppDomain._nExecuteAssembly(RuntimeAssembly >>>>>>>> assembly, String[] args) >>>>>>>> at System.AppDomain.ExecuteAssembly(String assemblyFile, >>>>>>>> Evidence assemblySecurity, String[] args) >>>>>>>> at >>>>>>>> Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() >>>>>>>> at >>>>>>>> System.Threading.ExecutionContext.RunInternal(ExecutionContext >>>>>>>> executionContext, ContextCallback callback, Object state, Boolean >>>>>>>> preserveSyncCtx) >>>>>>>> at System.Threading.ExecutionContext.Run(ExecutionContext >>>>>>>> executionContext, ContextCallback callback, Object state, Boolean >>>>>>>> preserveSyncCtx) >>>>>>>> at System.Threading.ExecutionContext.Run(ExecutionContext >>>>>>>> executionContext, ContextCallback callback, Object state) >>>>>>>> at System.Threading.ThreadHelper.ThreadStart() >>>>>>>> InnerException: >>>>>>>> >>>>>>>> >>>>>>>> Any help would be appreciated. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Satya. >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > --001a113f2b82948ee0052fa7d654 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Instead of LoadCache, can you try a simple cache put and s= ee what happens?

cache[1] =3D new=C2=A0CustomTransactionsDetail();
<= span style=3D"color:rgb(80,0,80);font-size:12.8px">
and with entity from EF:<= /span>

cache[2= ] =3D=C2=A0entities.CustomTransactionsDetails.First();

Pavel.
On Mon, Apr 4, 2016 at 3:20 PM, Murthy Kakarla= mudi <ksatya@gmail.com> wrote:
Sorry....attached the wrong version. Below is the full= entity class and the CacheStore implementation.

namespace MyIgnite
{
=C2=A0 =C2=A0 using= System;
=C2=A0 =C2=A0 using System.Collections.Generic;
=C2=A0 =C2=A0=C2=A0
=C2=A0 =C2=A0 public partial class CustomTr= ansactionsDetail
=C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 public Nullable<int> TransactionID { get; set; }
<= div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string InstrumentTypeName { get; set= ; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string InstrumentTypeShort= Name { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string Deal= Type { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string PutC= all { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 pu= blic Nullable<System.DateTime> Expiry { get; set; }
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 public string Side { get; set; }
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<System.DateTime> Comodity1Mo= nth { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<= System.DateTime> Comodity2Month { get; set; }
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 public Nullable<double> Asset1 { get; set; }
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<double> Asset2 { get; set= ; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<long> QtyAs= set1 { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<= ;long> QtyAsset2 { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 pub= lic Nullable<double> StrikePrice { get; set; }
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 public Nullable<double> RiskFreeRate { get; set; }<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<double> CostOfC= arry1 { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable&l= t;double> CostOfCarry2 { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 public Nullable<double> VolatilityAsset1 { get; set; }
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<double> VolatilityAsset2 = { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<doub= le> FixedPrice { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 publi= c Nullable<int> BUID { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 public Nullable<int> PortfolioID { get; set; }
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 public Nullable<int> StrategyID { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<int> CPID { get; = set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<int> Tra= derID { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable&l= t;int> InsTypeID { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 pub= lic string ListOfAllIndexText { get; set; }
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 public Nullable<System.DateTime> MvStartMonth { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string SourceSysName { get; set;= }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<System.DateTime= > EndOfDayDate { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 publi= c Nullable<int> DealSideGPID { get; set; }
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 public Nullable<int> ProfileID { get; set; }
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<int> InstrumentSeqNo { ge= t; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<int> = InstrumentSourceID { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 publ= ic string EventSourceName { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 public string CFlowTypeID { get; set; }
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 public string RTStatName { get; set; }
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 public string TranStatName { get; set; }
=C2=A0 =C2=A0= =C2=A0 =C2=A0 public Nullable<long> SequenceNo { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<System.D= ateTime> TimeStamp { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 p= ublic Nullable<int> CustomTransHeaderID { get; set; }
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 public int CustomTransDetailID { get; set; }
=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string IndexName1 { get; set= ; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string IndexName2 { get; s= et; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<double> L= TD_PNL { get; set; }
=C2=A0 =C2=A0 }
}
=
=C2=A0public override void LoadCache(A= ction<object, object> act, params object[] args)
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 try {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= var customTxnDetailsList =3D entities.CustomTransactionsDetails;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /= / Iterate over whole underlying store and call act on each entry to load it= into the cache.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 foreach (CustomTransactionsDetail entry in customTxnDetailsL= ist)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 Console.WriteLine("Adding to cache: {0}", entry.CustomTransDe= tailID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 act(entry.CustomTransDetailID, entry);

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }catch(Exception e)
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 Console.WriteLine("Exception is {0}"= , e);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 }

static void Main(string[] args)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 var cfg =3D new IgniteConfiguration
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 SpringConfigUrl =3D @"C:\Data\Professional\do= tnet\workspace\MyIgnite\MyIgniteConsole\config\ignite.xml",
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 JvmOptions =3D new = List<string> { "-Xms512m", "-Xmx1024m" }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 };
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 //Ignition.ClientMode =3D true;
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 using (var ignite =3D Ignition.Start(cfg= ))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Console.WriteLine("&g= t;>> Cache query example started");
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 var cache =3D ignite.GetCache<int= , CustomTransactionsDetail>(null);
=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 cache.LoadCache(null);
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Console.ReadLine();
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }


=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Console.ReadLine();
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 }

There are no o= ther parts to these files. These POCOs are generated by Entity Framework. P= lease let me know if you need additional information.

<= div>Satya.

On Mon, Apr 4, 2016 at 8:11 AM= , Pavel Tupitsyn <ptupitsyn@gridgain.com> wrote:
Satya,

In y= our code above there is "act(entry.pe= rsonDetailID, entry);",
but there is no=C2=A0personDetailID member in the=C2=A0CustomTransactionsDetail class.=C2=A0
<= div>Are you sure this is the correct one? = Also, it is a partial class - are there any parts in other files?

Can you attach full source code of your application?<= /span>

Thanks,
Pavel.

On Mon, A= pr 4, 2016 at 2:59 PM, Murthy Kakarlamudi <ksatya@gmail.com> = wrote:
Below is my entit= y. I am not doing any serialization currently while storing in the cache.
namespace MyIgnite
{
=C2=A0 =C2= =A0 using System;
=C2=A0 =C2=A0 using System.Collections.Generic;=
=C2=A0 =C2=A0=C2=A0
=C2=A0 =C2=A0 public partial class= CustomTransactionsDetail
=C2=A0 =C2=A0 {
=C2=A0 =C2=A0= =C2=A0 =C2=A0 public Nullable<int> TransactionID { get; set; }
=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string TypeName { get; set; }
=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<System.DateTime> Exp= iry { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public string Side = { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 public Nullable<Syst= em.DateTime> TimeStamp { get; set; }
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 public Nullable<int> CustomTransHeaderID { get; set; }
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 public int CustomTransDetailID { get; set; }

=C2=A0 =C2=A0 }
}

Thanks,
Satya.

On Mon, Apr 4, 2016 at 7:50 AM, Pavel T= upitsyn <ptupitsyn@gridgain.com> wrote:
Satya,

Looks like ex= ception comes from your entity member(s) during serialization.
Can you please attach your entity class code?
* Does= it have any navigation properties that may cause SQL queries?
* = How do you serialize it in Ignite? (Do you implement IBinarizable?)

Thanks,

Pavel.



On Mon, Apr 4, 2016 at 2:13 PM, Murthy Kakarlamudi <ksatya= @gmail.com> wrote:
Hi Pavel,
=C2=A0 =C2=A0Thanks for your response. I stepped thr= ough the LoadCache method in debug mode and noticed that it is failing at t= he act() method. Below is my code for LoacCache.

=
public override void LoadCache(A= ction<object, object> act, params object[] args)
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 {
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 var personDetailsList =3D entities.personDe= tails;
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 // Iterate over whole underlying store and call act on ea= ch entry to load it into the cache.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 foreach (personDetail entry in personDetailsList)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Consol= e.WriteLine("Adding to cache: " + entry.personDetailID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 act(entry.personDetailID, entry);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0
<= div style=3D"font-size:12.8px">=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

I can see the statement:=C2=A0"Adding to cache: " in the node output and the control hangs at = the next line executing the "act" method and then it throws SQLEx= ception Timeout. Not sure why the "act" method is taking so much = time to store the entries in cache.

For testing, I commented out &= quot;act" statement and the program completed looping through all the = entries returned by Entity Framework without any errors.

Thanks,
Satya.

On Mon, Apr 4, 2016 at 4:40 AM, Pavel Tupitsyn <ptupits= yn@gridgain.com> wrote:
Hi Satya,

"Timeout expired.=C2=A0 The timeout period elapsed prior to comple= tion of the operation or the server is not responding."
This is an SQL exception. Please make sure that your entity connecti= on works.
You can set a breakpoint on the first line of LoadCache= method, step over your code and see what happens. Or wrap it in try-catch = block.

Meanwhile, looks like cache store erro= r messages are not very informative.=C2=A0
I've added a Jira = ticket, we'll fix it shortly:=C2=A0https://issues.apache.org/jira/= browse/IGNITE-2943

Thank you,

Pavel

On Mon, Apr 4, 2016 at 7:07 AM, Murthy Kakarlamudi= <ksatya@gmail.com> wrote:
=
Hello all,
=C2=A0 =C2=A0I was able to resolve the erro= r I posted above. I had to basically add the relevant EntityFramwork refere= nces in the solution that runs my Ignite server node. After successfully cr= eating the cache, however I am running into the below timeout issue:
<= div>
[00:02:37] Ignite node started OK (id=3Dcf8c5e00)
[00:02:37] Topology snapshot [ver=3D1, servers=3D1, clients=3D0, C= PUs=3D4, heap=3D0.89GB]
>>> Cache query example start= ed
Adding to cache: 228505
[00:03:10,524][SE= VERE][pub-#10%null%][GridJobWorker] Failed to execute job [jobId=3Dbcc9f6fd= 351-cf8c5e00-c86f-4e58-b0ad-6754896baf34, ses=3DGridJobSessionImpl [ses=3DG= ridTaskSessionImpl [taskName=3Do.a.i.i.processors.cache.GridCacheAdapter$Lo= adCacheClosure, dep=3DLocalDeployment [super=3DGridDeployment [ts=3D1459742= 547098, depMode=3DSHARED, clsLdr=3Dsun.misc.Launcher$AppClassLoader@764c12b= 6, clsLdrId=3Da9c9f6fd351-cf8c5e00-c86f-4e58-b0ad-6754896baf34, userVer=3D0= , loc=3Dtrue, sampleClsName=3Djava.lang.String, pendingUndeploy=3Dfalse, un= deployed=3Dfalse, usage=3D0]], taskClsName=3Do.a.i.i.processors.cache.GridC= acheAdapter$LoadCacheClosure, sesId=3Dacc9f6fd351-cf8c5e00-c86f-4e58-b0ad-6= 754896baf34, startTime=3D1459742557568, endTime=3D9223372036854775807, task= NodeId=3Dcf8c5e00-c86f-4e58-b0ad-6754896baf34, clsLdr=3Dsun.misc.Launcher$A= ppClassLoader@764c12b6, closed=3Dfalse, cpSpi=3Dnull, failSpi=3Dnull, loadS= pi=3Dnull, usage=3D1, fullSup=3Dfalse, subjId=3Dcf8c5e00-c86f-4e58-b0ad-675= 4896baf34, mapFut=3DIgniteFuture [orig=3DGridFutureAdapter [resFlag=3D0, re= s=3Dnull, startTime=3D1459742557584, endTime=3D0, ignoreInterrupts=3Dfalse,= lsnr=3Dnull, state=3DINIT]]], jobId=3Dbcc9f6fd351-cf8c5e00-c86f-4e58-b0ad-= 6754896baf34]]
class org.apache.ignite.IgniteException: class org= .apache.ignite.IgniteException: Timeout expired.=C2=A0 The timeout period e= lapsed prior to completion of the operation or the server is not responding= .
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at org.apache.ignite.internal.proce= ssors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:179= 2

Apache.Ignite.Core.Cache.Store.CacheS= toreException was unhandled
=C2=A0 HResult=3D-2146233088
= =C2=A0 Message=3Dclass org.apache.ignite.IgniteException: Timeout expire= d.=C2=A0 The timeout period elapsed prior to completion of the operation or= the server is not responding.
=C2=A0 Source=3DApache.I= gnite.Core
=C2=A0 StackTrace:
=C2=A0 =C2=A0 =C2=A0 =C2= =A0at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* targ= et, Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* errMsgC= hars, Int32 errMsgCharsLen, Void* errData, Int32 errDataLen)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at Apache.Ignite.Core.Impl.Unmanaged.IgniteJn= iNativeMethods.TargetInStreamOutLong(Void* ctx, Void* target, Int32 opType,= Int64 memPtr)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at Apache.Ignite.Core.I= mpl.Unmanaged.UnmanagedUtils.TargetInStreamOutLong(IUnmanagedTarget target,= Int32 opType, Int64 memPtr)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at Apache= .Ignite.Core.Impl.PlatformTarget.DoOutOp(Int32 type, Action`1 action)
=
=C2=A0 =C2=A0 =C2=A0 =C2=A0at MyIgniteConsole.Program.Main(String[] ar= gs) in C:\Data\Professional\dotnet\workspace\MyIgnite\MyIgniteConsole\Progr= am.cs:line 29
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.AppDomai= n._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
=C2= =A0 =C2=A0 =C2=A0 =C2=A0at System.AppDomain.ExecuteAssembly(String assembly= File, Evidence assemblySecurity, String[] args)
=C2=A0 =C2=A0 =C2= =A0 =C2=A0at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembl= y()
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.Threading.ExecutionConte= xt.RunInternal(ExecutionContext executionContext, ContextCallback callback,= Object state, Boolean preserveSyncCtx)
=C2=A0 =C2=A0 =C2=A0 =C2= =A0at System.Threading.ExecutionContext.Run(ExecutionContext executionConte= xt, ContextCallback callback, Object state, Boolean preserveSyncCtx)
<= div>=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.Threading.ExecutionContext.Run(Exe= cutionContext executionContext, ContextCallback callback, Object state)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.Threading.ThreadHelper.ThreadSt= art()
=C2=A0 InnerException:=C2=A0

From my main program, I am making below call:
=C2=A0cache= .LoadCache(null);

In my store implementation I= have the following overide method:
=C2=A0public overr= ide void LoadCache(Action<object, object> act, params object[] args)<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 var personDetailsList =3D entities.personDetails;<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 // Iterate over w= hole underlying store and call act on each entry to load it into the cache.=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 foreach (personDetail = entry in personDetailsList)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 Console.WriteLine("Adding to cache: " + entry.personDetail= ID);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 act(= entry.personDetailID, entry);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 }


thanks= in advance for your help...

Satya.

=

On Sat, Apr 2, 2016 at 11:49 AM, Murthy Kakarlamudi = <ksatya@gmail.com<= /a>> wrote:
Hi= ,
=C2=A0 =C2=A0In my .NET application, I have an underlying SQL Server = DB that I am planning to access using Ignite Persistence feature. I was fol= lowing the StoreExample provided in the examples and created the ignite con= figuration accordingly.=C2=A0

<property na= me=3D"cacheConfiguration">
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 <list>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <bean clas= s=3D"org.apache.ignite.configuration.CacheConfiguration">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"w= riteThrough" value=3D"true"/>
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 <property name=3D"readThrough" value= =3D"true"/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 <property name=3D"cacheStoreFactory">
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <bean class=3D"org.apache= .ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <property name= =3D"typeName" value=3D"MyIgnite.SQLServerStore, MyIgnite&quo= t;/>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </bea= n>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </property>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </bean>
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 </list>
=C2=A0 =C2=A0 =C2=A0 </= property>

My SQLServerStore which is part= of MyIgnite dll is as below. I am using EntityFramework as ORM to access u= nderlying SQLServer.

class SQLServerStore : C= acheStoreAdapter
=C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 private TestEntities entities;
=C2=A0 =C2=A0 =C2=A0 =C2=A0= public SQLServerStore()
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 entities =3D new TestEntities();<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

=C2=A0 =C2= =A0 =C2=A0 =C2=A0 /// <summary>
=C2=A0 =C2=A0 =C2=A0 =C2=A0= /// Loads all values from underlying persistent storage.
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 /// This method gets called as a result of <see cre= f=3D"ICache{TK,TV}.LoadCache"/> call.
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 /// </summary>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 //= / <param name=3D"act">Action that loads a cache entry.</= param>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /// <param name=3D"= args">Optional arguments.</param>
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 public override void LoadCache(Action<object, object> act,= params object[] args)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 var personDetailsList =3D entitie= s.PersonDetails;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 // Ite= rate over whole underlying store and call act on each entry to load it into= the cache.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 foreach (pe= rsonDetail=C2=A0entry in=C2=A0personDetailsList)
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 act(entry.personD, entry);
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }
}
Whwn I try to run the above, I am getting the below error.

Apache.Ignite.Core.Common.IgniteException was unh= andled
=C2=A0 Message=3DExcep= tion has been thrown by the target of an invocation.
=C2=A0 Sourc= e=3DApache.Ignite.Core
=C2=A0 StackTrace:
=C2=A0 =C2=A0= =C2=A0 =C2=A0at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error= (Void* target, Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SBy= te* errMsgChars, Int32 errMsgCharsLen, Void* errData, Int32 errDataLen)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at Apache.Ignite.Core.Impl.Unmanaged.Igni= teJniNativeMethods.IgnitionStart(Void* ctx, SByte* cfgPath, SByte* gridName= , Int32 factoryId, Int64 dataPtr)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at A= pache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.IgnitionStart(UnmanagedCont= ext ctx, String cfgPath, String gridName, Boolean clientMode)
=C2= =A0 =C2=A0 =C2=A0 =C2=A0at Apache.Ignite.Core.Ignition.Start(IgniteConfigur= ation cfg)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at MyIgniteConsole.Program.= Main(String[] args) in C:\Data\Professional\dotnet\workspace\MyIgnite\MyIgn= iteConsole\Program.cs:line 21
=C2=A0 =C2=A0 =C2=A0 =C2=A0at Syste= m.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.AppDomain.ExecuteAssembly(String= assemblyFile, Evidence assemblySecurity, String[] args)
=C2=A0 = =C2=A0 =C2=A0 =C2=A0at Microsoft.VisualStudio.HostingProcess.HostProc.RunUs= ersAssembly()
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.Threading.Exec= utionContext.RunInternal(ExecutionContext executionContext, ContextCallback= callback, Object state, Boolean preserveSyncCtx)
=C2=A0 =C2=A0 = =C2=A0 =C2=A0at System.Threading.ExecutionContext.Run(ExecutionContext exec= utionContext, ContextCallback callback, Object state, Boolean preserveSyncC= tx)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.Threading.ExecutionConte= xt.Run(ExecutionContext executionContext, ContextCallback callback, Object = state)
=C2=A0 =C2=A0 =C2=A0 =C2=A0at System.Threading.ThreadHelpe= r.ThreadStart()
=C2=A0 InnerException:=C2=A0

=

Any help would be appreciated.

Thanks,
Satya.








--001a113f2b82948ee0052fa7d654--