Great..thanks for the info. We are not on production yet. We have a couple
more months. Will try the approach you suggested.

Thanks.
On Apr 11, 2016 9:22 AM, "Pavel Tupitsyn" <ptupit...@gridgain.com> wrote:

> Some say that 1.6 is expected by the end of the month, can't say for sure.
>
> Obviously, I can't recommend to use unreleased code in production, but
> other than that, our master branch is usually stable, so you are welcome to
> try out latest features!
> If you decide to do so, have a look at updated QueryExample and new
> LinqExample.
> It is also possible to configure everything in .NET, without Spring XML.
>
> By the way, to avoid building from sources manually, you can use NuGet
> package built from latest master on our CI server (use guest login):
>
> http://ci.ignite.apache.org/viewLog.html?buildId=224958&buildTypeId=IgniteTests_IgnitePlatformNetNuGetNe&tab=artifacts
>
> Pavel.
>
>
> On Mon, Apr 11, 2016 at 3:59 PM, Murthy Kakarlamudi <ksa...@gmail.com>
> wrote:
>
>> That makes sense. Thanks for the explanation. Any idea what is the wait
>> time for 1.6? Do you recommend building from source for 1.6 and use that
>> till 1.6 is GA?
>> On Apr 11, 2016 7:28 AM, "Pavel Tupitsyn" <ptupit...@gridgain.com> wrote:
>>
>>> In fact, keyType and valType can be arbitrary strings.
>>> They are used to create SQL tables internally.
>>> Look at SqlQuery constructors: some of them accept "string queryType".
>>> This string must be equal to valType string in configuration.
>>>
>>> Using type name without namespace is just a convention. SqlQuery
>>> constructor with "Type queryType" argument just passes along type name
>>> string.
>>>
>>> This does not force the user to create unique classnames, because there
>>> is a separate SQL schema for each cache in Ignite.
>>> Only if you use multiple entry types in a single cache (which is not
>>> recommended by itself), and these types have the same name, there will be a
>>> collision.
>>>
>>> Sounds complicated, I know. Can't wait for 1.6 release where all of this
>>> is hidden from the user :)
>>>
>>> Let me know if you need more details.
>>>
>>> Pavel.
>>>
>>> On Mon, Apr 11, 2016 at 1:32 PM, Murthy Kakarlamudi <ksa...@gmail.com>
>>> wrote:
>>>
>>>> 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