Re: Error while loading data into cache with BinaryObject as key field

2016-07-05 Thread Alexei Scherbakov
Hi, 1. Yes, Ignite works that way. Value type name is used as a table name in querying either key or value fields. 2. I'll try to give more detailed answer. A query engine is also responsible for indexing. Then data is saved, the query engine first decides which fields to index using informati

Re: Error while loading data into cache with BinaryObject as key field

2016-07-05 Thread pragmaticbigdata
Any comments here? -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Error-while-loading-data-into-cache-with-BinaryObject-as-key-field-tp6014p6105.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Re: Error while loading data into cache with BinaryObject as key field

2016-07-04 Thread pragmaticbigdata
1. The strange part is even when the binary objects are created with different type names (different for key BinaryObject and for value BinaryObject), I am able to query the field that is the part of the key BinaryObject by specifying the valuetype 2. By "binary type descriptor" I understand that

Re: Error while loading data into cache with BinaryObject as key field

2016-07-04 Thread Alexei Scherbakov
Hi, 1. I see nothing strange here. Please explain in more details. 2. Because query engine uses binary type descriptor to update SQL indices for incoming data. 2016-07-03 20:16 GMT+03:00 pragmaticbigdata : > Thanks for pinpointing the issue. The issue got resolved after setting a > custom key

Re: Error while loading data into cache with BinaryObject as key field

2016-07-03 Thread pragmaticbigdata
Thanks for pinpointing the issue. The issue got resolved after setting a custom key type. The data got loaded into the cache. 1. The strange part is that even if I set different key and value types the below query executes correctly SqlQuery query = new SqlQuery<>(table.getCacheValueType

Re: Error while loading data into cache with BinaryObject as key field

2016-07-01 Thread vkulichenko
Hi, The problematic line of code is this one: qe.setKeyType(String.class.getCanonicalName()); Basically, because of this configuration, SQL engine expect to have a String as a key and therefore tries to unwrap the BinaryObject and fails on deserialization. You should use your own name, as you do

Re: Error while loading data into cache with BinaryObject as key field

2016-07-01 Thread pragmaticbigdata
On further tries, the data load program again started failing. The application is not consistent and I do not follow why and when does the it fail. To ease the understanding of the issue I have created a gist that includes the data load program. The program tries to load data from a csv file using

Re: Error while loading data into cache with BinaryObject as key field

2016-07-01 Thread pragmaticbigdata
On further troubleshooting I realized that the error appeared only when I have different typeNames used for the key and value objects added to the cache. BinaryObjectBuilder keyBuilder = ignite.binary().builder(table.getCacheKeyType()); BinaryObjectBuilder valueBuilder = i

Re: Error while loading data into cache with BinaryObject as key field

2016-06-30 Thread pragmaticbigdata
> What was returned as the type name before? As I see from your code that you used some getter to retrieve the name. I have a IgniteCache. The type name for the key object before was a string "My_Object_ValueType" and "My_Object_KeyType". I didn't follow why doesn't it work with these typenames.

Re: Error while loading data into cache with BinaryObject as key field

2016-06-30 Thread Denis Magda
Hi, > I realized that the error disappears if I hard code the typeName while > constructing the BinaryObjectBuilder. > ignite.binary().builder("ConstantString”); What was returned as the type name before? As I see from your code that you used some getter to retrieve the name. > 1. Wha

Re: Error while loading data into cache with BinaryObject as key field

2016-06-30 Thread Alexei Scherbakov
Hi, 1. Type name can be the actual class name if you plan to work with cache value as java object. 2. Avoid names reserved to SQL keywords. 3. Put key columns into key binary object. To fetch everything use SqlFieldsQuery like: select _key,_val from ... or use SqlQuery 2016-06-30 16:11 GMT+03:00

Re: Error while loading data into cache with BinaryObject as key field

2016-06-30 Thread pragmaticbigdata
I realized that the error disappears if I hard code the typeName while constructing the BinaryObjectBuilder. ignite.binary().builder("ConstantString"); Few questions based on this 1. What is the significance of the typeName except the fact that it is used while querying? 2. What are th