Hi Pavel,
    You are absolutely right. I had 2 config files and I indeed am
referring to wrong version. I copied and pasted and VS and instead of
creating a new file, it created a link. Thanks for helping me out.

Based on your suggestion that the valueType needs to be unqualified without
the namespace, the documentation needs an update. I was basically following
that as an example.  But without namespace qualification, doesn't that
force an user to create unique classnames?

<bean class="org.apache.ignite.cache.CacheTypeMetadata">
        <!-- Type to query. -->
        <property name="valueType"
value="org.apache.ignite.examples.datagrid.store.Person"/>
        <!-- Fields to be queried. -->


On Mon, Apr 11, 2016 at 4:36 AM, Pavel Tupitsyn <ptupit...@gridgain.com>
wrote:

> 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