Satya, I can run your solution without errors with fixed config.
This means that you don't actually use the config above for your nodes.
Something else gets loaded for some reason.

Please do the following:
* Make sure that SpringConfigUrl points to the updated file everywhere you
use it.
* Replace GetOrCreateCache with GetCache. This will ensure that cache is
retrieved from config, not started dynamically.

Pavel.


On Sun, Apr 10, 2016 at 4:48 PM, Murthy Kakarlamudi <ksa...@gmail.com>
wrote:

> Hi Pavel...Thanks for the update. I seem to be doing something wrong. I am
> still getting the same error even after applying the update you suggested.
> Not sure if the way I specified the types for the columns in java matched
> against definitions in SQL Server. I am attaching below the column types
> from SQL Server.
>
> [image: Inline image 1]
>
> Below is the updated config xml
> <property name="cacheConfiguration">
>       <list>
>         <bean class="org.apache.ignite.configuration.CacheConfiguration">
>           <property name="name" value="BU"/>
>           <property name="writeThrough" value="true"/>
>           <property name="readThrough" value="true"/>
>           <property name="writeBehindEnabled" value="true"/>
>           <property name="writeBehindFlushFrequency" value="120000"/>
>           <property name="cacheStoreFactory">
>             <bean
> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
>               <property name="typeName"
> value="TestIgniteDAL.SQLServerStore, TestIgniteDAL"/>
>             </bean>
>           </property>
>           <property name ="typeMetadata">
>             <list>
>               <bean class="org.apache.ignite.cache.CacheTypeMetadata">
>                 <!-- Type to query. -->
>                 *<property name="valueType" value="BusinessUnit"/>*
>                 <!-- Fields to be queried. -->
>                 <property name="queryFields">
>                   <map>
>                     <entry key="BUID" value="java.lang.Long"/>
>                     <entry key="BUName" value="java.lang.String"/>
>                     <entry key="CreatedByID" value="java.lang.Long"/>
>                     <entry key="CreatedDate" value="java.util.Date"/>
>                     <entry key="ModifiedByID" value="java.lang.Long"/>
>                     <entry key="ModifiedDate" value="java.util.Date"/>
>                   </map>
>                 </property>
>                 <!-- Fields to index in ascending order. -->
>                 <property name="ascendingFields">
>                   <map>
>                     <entry key="BUID" value="java.lang.Long"/>
>                   </map>
>                 </property>
>               </bean>
>             </list>
>           </property>
>         </bean>
>       </list>
>     </property>
>
> Is there a different way to specify the indexed type? In java, I can
> specify at the CacheConfiguration object leve, but .NET API had no such
> method and spring config seems to be the only way unless I am missing
> anything.
>
> Your help is much appreciated,
> Satya.
>
> On Sun, Apr 10, 2016 at 9:23 AM, Pavel Tupitsyn <ptupit...@gridgain.com>
> wrote:
>
>> Looks like the problem is here:
>> <property name="valueType" value="TestIgniteDAL.BusinessUnit"/>
>>
>> Ignite uses type name without namespace in queries and binary objects, so
>> correct line would be
>>
>> <property name="valueType" value="BusinessUnit"/>
>>
>> Let me know if this helps.
>>
>> Pavel.
>>
>>
>> On Sun, Apr 10, 2016 at 1:16 PM, Murthy Kakarlamudi <ksa...@gmail.com>
>> wrote:
>>
>>> Hi Pavel,
>>>     Below is the link to download the solution. The attached solution
>>> has 4 projects. TestIgniteServer is used to start Ignite node in server
>>> mode. TestIgniteSQLClient is used to start Ignite in client mode and
>>> execute the sql query against the cache.
>>>
>>> https://drive.google.com/open?id=0B8lM91-_3MwRYUxqX2ZHU0thRmc
>>>
>>> Thanks again for your help,
>>> Satya.
>>>
>>> On Sun, Apr 10, 2016 at 2:33 AM, Pavel Tupitsyn <ptupit...@gridgain.com>
>>> wrote:
>>>
>>>> Satya, there is some issue with configuration in your code. Looks like
>>>> you use different XML than provided above. Make sure the path is correct.
>>>> Or, you can attach your entire solution, and I'll take a look.
>>>>
>>>> Pavel.
>>>>
>>>> On Sat, Apr 9, 2016 at 7:29 PM, Murthy Kakarlamudi <ksa...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Pavel,
>>>>>    Is that the only change needed? I added that property and I am
>>>>> still getting the same error.
>>>>>
>>>>> <property name="cacheConfiguration">
>>>>>       <list>
>>>>>         <bean
>>>>> class="org.apache.ignite.configuration.CacheConfiguration">
>>>>>           *<property name="name" value="BU"/>*
>>>>>           <property name="writeThrough" value="true"/>
>>>>>           <property name="readThrough" value="true"/>
>>>>>           <property name="writeBehindEnabled" value="true"/>
>>>>>           <property name="writeBehindFlushFrequency" value="120000"/>
>>>>>           <property name="cacheStoreFactory">
>>>>>             <bean
>>>>> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
>>>>>               <property name="typeName"
>>>>> value="TestIgniteDAL.SQLServerStore, TestIgniteDAL"/>
>>>>>             </bean>
>>>>>           </property>
>>>>>           <property name ="typeMetadata">
>>>>>             <list>
>>>>>               <bean class="org.apache.ignite.cache.CacheTypeMetadata">
>>>>>                 <!-- Type to query. -->
>>>>>                 <property name="valueType"
>>>>> value="TestIgniteDAL.BusinessUnit"/>
>>>>>                 <!-- Fields to be queried. -->
>>>>>                 <property name="queryFields">
>>>>>                   <map>
>>>>>                     <entry key="BUID" value="java.lang.Long"/>
>>>>>                     <entry key="BUName" value="java.lang.String"/>
>>>>>                     <entry key="CreatedByID" value="java.lang.Long"/>
>>>>>                     <entry key="CreatedDate" value="java.util.Date"/>
>>>>>                     <entry key="ModifiedByID" value="java.lang.Long"/>
>>>>>                     <entry key="ModifiedDate" value="java.util.Date"/>
>>>>>                   </map>
>>>>>                 </property>
>>>>>                 <!-- Fields to index in ascending order. -->
>>>>>                 <property name="ascendingFields">
>>>>>                   <map>
>>>>>                     <entry key="BUID" value="java.lang.Long"/>
>>>>>                   </map>
>>>>>                 </property>
>>>>>               </bean>
>>>>>             </list>
>>>>>           </property>
>>>>>         </bean>
>>>>>       </list>
>>>>>     </property>
>>>>>
>>>>> Apache.Ignite.Core.Common.IgniteException was unhandled
>>>>>   HResult=-2146233088
>>>>>   Message=Indexing is disabled for cache: BU. Use setIndexedTypes or
>>>>> setTypeMetadata methods on CacheConfiguration to enable.
>>>>>   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.CacheOutOpQueryCursor(Void*
>>>>> ctx, Void* obj, Int32 type, Int64 memPtr)
>>>>>        at
>>>>> Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.CacheOutOpQueryCursor(IUnmanagedTarget
>>>>> target, Int32 type, Int64 memPtr)
>>>>>        at Apache.Ignite.Core.Impl.Cache.CacheImpl`2.Query(QueryBase
>>>>> qry)
>>>>>        at TestIgniteSQLClient.IgniteSQLClient.Main(String[] args) in
>>>>> C:\Data\Professional\dotnet\workspace\TestIgnite\TestIgniteSQLClient\IgniteSQLClient.cs:line
>>>>> 34
>>>>>   InnerException:
>>>>>
>>>>>
>>>>> On Sat, Apr 9, 2016 at 11:32 AM, Pavel Tupitsyn <
>>>>> ptupit...@gridgain.com> wrote:
>>>>>
>>>>>> Hi Satya,
>>>>>>
>>>>>> > Indexing is disabled for cache: BU.
>>>>>> In the XML configuration, please set cache name like this:
>>>>>>
>>>>>> ...
>>>>>> <bean class="org.apache.ignite.configuration.CacheConfiguration">
>>>>>>           <property name="name" value="BU"/>
>>>>>> ...
>>>>>>
>>>>>>
>>>>>> > do I have to specify the column type classes in java(ex
>>>>>> java.lang.Long etc) in the config xml even if I am working in .NET world
>>>>>> Yes, in 1.5, using Spring XML and Java types is the only way.
>>>>>> This is already fixed, and in upcoming Ignite 1.6 everything can be
>>>>>> configured right from C#.
>>>>>>
>>>>>> Thanks,
>>>>>> Pavel.
>>>>>>
>>>>>> On Sat, Apr 9, 2016 at 5:10 PM, Murthy Kakarlamudi <ksa...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi All,
>>>>>>>     I am running into below error trying to run SqlQuery in .NET.
>>>>>>>
>>>>>>> Apache.Ignite.Core.Common.IgniteException was unhandled
>>>>>>>   HResult=-2146233088
>>>>>>>   Message=Indexing is disabled for cache: BU. Use setIndexedTypes or
>>>>>>> setTypeMetadata methods on CacheConfiguration to enable.
>>>>>>>   Source=Apache.Ignite.Core
>>>>>>>
>>>>>>> I am storing the entity created by Entity Framework in cache and
>>>>>>> trying to query that POCO. Below are my Ignite config xml and the query 
>>>>>>> I
>>>>>>> am using.
>>>>>>>
>>>>>>> <property name="cacheConfiguration">
>>>>>>>       <list>
>>>>>>>         <bean
>>>>>>> class="org.apache.ignite.configuration.CacheConfiguration">
>>>>>>>           <property name="writeThrough" value="true"/>
>>>>>>>           <property name="readThrough" value="true"/>
>>>>>>>           <property name="writeBehindEnabled" value="true"/>
>>>>>>>           <property name="writeBehindFlushFrequency" value="120000"/>
>>>>>>>           <property name="cacheStoreFactory">
>>>>>>>             <bean
>>>>>>> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
>>>>>>>               <property name="typeName"
>>>>>>> value="TestIgniteDAL.SQLServerStore, TestIgniteDAL"/>
>>>>>>>             </bean>
>>>>>>>           </property>
>>>>>>>           <property name ="typeMetadata">
>>>>>>>             <list>
>>>>>>>               <bean
>>>>>>> class="org.apache.ignite.cache.CacheTypeMetadata">
>>>>>>>                 <!-- Type to query. -->
>>>>>>>                 <property name="valueType"
>>>>>>> value="TestIgniteDAL.BusinessUnit"/>
>>>>>>>                 <!-- Fields to be queried. -->
>>>>>>>                 <property name="queryFields">
>>>>>>>                   <map>
>>>>>>>                     <entry key="BUID" value="java.lang.Long"/>
>>>>>>>                     <entry key="BUName" value="java.lang.String"/>
>>>>>>>                     <entry key="CreatedByID" value="java.lang.Long"/>
>>>>>>>                     <entry key="CreatedDate" value="java.util.Date"/>
>>>>>>>                     <entry key="ModifiedByID"
>>>>>>> value="java.lang.Long"/>
>>>>>>>                     <entry key="ModifiedDate"
>>>>>>> value="java.util.Date"/>
>>>>>>>                   </map>
>>>>>>>                 </property>
>>>>>>>                 <!-- Fields to index in ascending order. -->
>>>>>>>                 <property name="ascendingFields">
>>>>>>>                   <map>
>>>>>>>                     <entry key="BUID" value="java.lang.Long"/>
>>>>>>>                   </map>
>>>>>>>                 </property>
>>>>>>>               </bean>
>>>>>>>             </list>
>>>>>>>           </property>
>>>>>>>         </bean>
>>>>>>>       </list>
>>>>>>>     </property>
>>>>>>>
>>>>>>>    using (var ignite = Ignition.Start(cfg))
>>>>>>>             {
>>>>>>>                 Console.WriteLine(">>> Cache query example started");
>>>>>>>                 var cache = ignite.GetCache<int, BusinessUnit>("BU");
>>>>>>>                 var qry = cache.Query(new
>>>>>>> SqlQuery(typeof(BusinessUnit),"BUID=?",5));
>>>>>>>                 foreach(var bu in qry)
>>>>>>>                 {
>>>>>>>                     Console.WriteLine(bu);
>>>>>>>                 }
>>>>>>>             }
>>>>>>>
>>>>>>> Also, do I have to specify the column type classes in java(ex
>>>>>>> java.lang.Long etc) in the config xml even if I am working in .NET 
>>>>>>> world.
>>>>>>> Or can I use .NET equivalent classes from the POCO that was generated 
>>>>>>> from
>>>>>>> Entity Framework?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Satya.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to