Hello, I started grid with your configuration and see that all indexes were properly created. Can you share your SQL query? BTW how you get the metadata? I recommend use for this H2 debug console. How use it, you can read there: https://apacheignite.readme.io/docs#using-h2-debug-console
On Thu, Sep 28, 2017 at 10:26 AM, iostream <[email protected]> wrote: > *Hi, > > I have a setup with 20 ignite cache servers (v2.1). I create my cache using > a client, steps are as follows - > > 1. Client connects to the ignite cluster during startup. > 2. During startup, client checks if my cache is already created (cache name > - "Person") > 3. If cache is already created, client does nothing. If cache is not > already > created, the client creates the cache.* > > *My Cache value object looks like this -* > > public class Person implements Serializable { > > @QuerySqlField(index = true, orderedGroups = { > @QuerySqlField.Group(name = "personGroup", order = > 3, descending = true) > }) > @QueryTextField > private String name; > @QuerySqlField(index = true, orderedGroups = { > @QuerySqlField.Group(name = "personGroup", order = > 4, descending = true) > }) > private String id; > @QuerySqlField(index = true, orderedGroups = { > @QuerySqlField.Group(name = "personGroup", order = > 0, descending = false) > }) > private String country; > @QuerySqlField(index = true, orderedGroups = { > @QuerySqlField.Group(name = "personGroup", order = > 2, descending = false) > }) > private String department; > @QuerySqlField(index = true, orderedGroups = { > @QuerySqlField.Group(name = "personGroup", order = > 1, descending = false) > }) > private Integer stateCode; > @QuerySqlField > private Integer activityStatus; > > } > > *As can be seen, I have created a group index - personGroup. > > The cache creation code in the client looks as follows -* > > if (cacheManager.getCache("PersonCache") == null) { > CacheConfiguration<person_key, Person> cacheConfig > = new > CacheConfiguration<>(); > cacheConfig.setAtomicityMode(TRANSACTIONAL); > cacheConfig.setCacheMode(PARTITIONED); > cacheConfig.setBackups(1); > cacheConfig.setCopyOnRead(TRUE); > cacheConfig.setPartitionLossPolicy(IGNITE); > cacheConfig.setQueryParallelism(2); > cacheConfig.setReadFromBackup(TRUE); > cacheConfig.setRebalanceBatchSize(524288); > cacheConfig.setRebalanceThrottle(100); > cacheConfig.setIndexedTypes(person_key.class, Person.class); > cacheConfig.setOnheapCacheEnabled(FALSE); > cacheConfig.setStatisticsEnabled(TRUE); > cacheManager.createCache("PersonCache", cacheConfig); > > *Now, after creating the cache and adding data to it, I was able to see > cache size and I am able to retrieve data from my cache using the key. > However, my SQL query is not returning any data. Upon checking the cache > metadata, I found that indexes (both individual and group) were not created > correctly. The metadata looks as follows -* > > { > "cacheName": "PersonCache", > "types": [ > "Person" > ], > "keyClasses": { > "person_key": "java.lang.Object" > }, > "valClasses": { > "Person": "java.lang.Object" > }, > "fields": { > "Person": { > "name": "java.lang.String", > "id": "java.lang.String", > "country": "java.lang.String", > "department": "java.lang.String", > "stateCode": "java.lang.Integer", > "activityStatus": "java.lang.Integer", > } > }, > "indexes": { > "Person": [ > { > "name": "PERSON_NAME_IDX", > "fields": [ > "NAME" > ], > "descendings": [], > "unique": false > } > ] > } > } > > Can someone help me understand why I am not able to retrieve data using SQL > query and why indexes have not been created appropriately? > > Thanks! > > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >
