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<object, object> 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 <[email protected]>
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.
>
> <property name="cacheConfiguration">
> <list>
> <bean class="org.apache.ignite.configuration.CacheConfiguration">
> <property name="writeThrough" value="true"/>
> <property name="readThrough" value="true"/>
> <property name="cacheStoreFactory">
> <bean
> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
> <property name="typeName" value="MyIgnite.SQLServerStore,
> MyIgnite"/>
> </bean>
> </property>
> </bean>
> </list>
> </property>
>
> 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();
> }
>
> /// <summary>
> /// Loads all values from underlying persistent storage.
> /// This method gets called as a result of <see
> cref="ICache{TK,TV}.LoadCache"/> call.
> /// </summary>
> /// <param name="act">Action that loads a cache entry.</param>
> /// <param name="args">Optional arguments.</param>
> public override void LoadCache(Action<object, object> 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.
>