SQLCacheQuery Problem

classic Classic list List threaded Threaded
5 messages Options
Isaeed Mohanna Isaeed Mohanna
Reply | Threaded
Open this post in threaded view
|

SQLCacheQuery Problem

Hi
I am using Ignite 1.0.0, I have a cache defined with the following configuration (defined at startup):
CacheConfiguration<?, ?> CacheConfig = new CacheConfiguration<>();
CacheConfig .setName("myCache");
CacheConfig .setCacheMode(CacheMode.REPLICATED);
CacheConfig .setAtomicityMode(CacheAtomicityMode.ATOMIC);
CacheConfig .setIndexedTypes(UUID.class, MyClass.class);
The class MyClass looks as follows:
public class MyClass implements Externalizable {
        @QuerySqlField(index = true)
        private UUID id;
        private UUID anotherId;
        @QuerySqlField(index = true)
        private Date time;
  .. setters/ getters and some other fields
}
I am trying to perform sql query on my cache using the following:
IgniteCache<UUID, MyClass> reportsSchedule = ignite.cache("myCache");
SqlQuery<UUID, MyClass> sqlQuery = new SqlQuery<UUID, MyClass>(MyClass.class, "time <= ?");
QueryCursor<Entry<UUID, MyClass>> cursor = myCache.query(sqlQuery.setArgs(new Date()));

However I keep getting the following exception:
Caused by: class org.apache.ignite.IgniteException: Failed to find SQL table for type: MyClass
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1699)
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:478)
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6069)
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:472)

MyClass and UUID are defined in the configuration as an indexed type, also annotated as so in MyClass definition however i still receive this exception. Any idea what am i missing?
alexey.goncharuk alexey.goncharuk
Reply | Threaded
Open this post in threaded view
|

Re: SQLCacheQuery Problem

Add module ignite-indexing to the classpath of your project, it should work fine after that. I will create a ticket to make sure Ignite throws a proper error message when indexing is not in the classpath.

2015-06-17 7:22 GMT-07:00 Isaeed Mohanna <[hidden email]>:
Hi
*I am using Ignite 1.0.0, I have a cache defined with the following
configuration (defined at startup):*
CacheConfiguration<?, ?> CacheConfig = new CacheConfiguration<>();
CacheConfig .setName("myCache");
CacheConfig .setCacheMode(CacheMode.REPLICATED);
CacheConfig .setAtomicityMode(CacheAtomicityMode.ATOMIC);
CacheConfig .setIndexedTypes(UUID.class, MyClass.class);
*The class MyClass looks as follows:*
public class MyClass implements Externalizable {
        @QuerySqlField(index = true)
        private UUID id;
        private UUID anotherId;
        @QuerySqlField(index = true)
        private Date time;
  .. setters/ getters and some other fields
}
*I am trying to perform sql query on my cache using the following:*
IgniteCache<UUID, MyClass> reportsSchedule = ignite.cache("myCache");
SqlQuery<UUID, MyClass> sqlQuery = new SqlQuery<UUID,
MyClass>(MyClass.class, "time <= ?");
QueryCursor<Entry&lt;UUID, MyClass>> cursor =
myCache.query(sqlQuery.setArgs(new Date()));

*However I keep getting the following exception:*
Caused by: class org.apache.ignite.IgniteException: Failed to find SQL table
for type: MyClass
        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1699)
        at
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:478)
        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6069)
        at
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:472)

*MyClass and UUID are defined in the configuration as an indexed type, also
annotated as so in MyClass definition however i still receive this
exception. Any idea what am i missing?*



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/SQLCacheQuery-Problem-tp511.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Isaeed Mohanna Isaeed Mohanna
Reply | Threaded
Open this post in threaded view
|

Re: SQLCacheQuery Problem

I did not see that coming.... Thank you very much....
A note in Query section of the docmentation will help as well


On Wed, Jun 17, 2015 at 8:52 PM, Alexey Goncharuk <[hidden email]> wrote:
Add module ignite-indexing to the classpath of your project, it should work fine after that. I will create a ticket to make sure Ignite throws a proper error message when indexing is not in the classpath.

2015-06-17 7:22 GMT-07:00 Isaeed Mohanna <[hidden email]>:
Hi
*I am using Ignite 1.0.0, I have a cache defined with the following
configuration (defined at startup):*
CacheConfiguration<?, ?> CacheConfig = new CacheConfiguration<>();
CacheConfig .setName("myCache");
CacheConfig .setCacheMode(CacheMode.REPLICATED);
CacheConfig .setAtomicityMode(CacheAtomicityMode.ATOMIC);
CacheConfig .setIndexedTypes(UUID.class, MyClass.class);
*The class MyClass looks as follows:*
public class MyClass implements Externalizable {
        @QuerySqlField(index = true)
        private UUID id;
        private UUID anotherId;
        @QuerySqlField(index = true)
        private Date time;
  .. setters/ getters and some other fields
}
*I am trying to perform sql query on my cache using the following:*
IgniteCache<UUID, MyClass> reportsSchedule = ignite.cache("myCache");
SqlQuery<UUID, MyClass> sqlQuery = new SqlQuery<UUID,
MyClass>(MyClass.class, "time <= ?");
QueryCursor<Entry&lt;UUID, MyClass>> cursor =
myCache.query(sqlQuery.setArgs(new Date()));

*However I keep getting the following exception:*
Caused by: class org.apache.ignite.IgniteException: Failed to find SQL table
for type: MyClass
        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1699)
        at
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:478)
        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6069)
        at
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:472)

*MyClass and UUID are defined in the configuration as an indexed type, also
annotated as so in MyClass definition however i still receive this
exception. Any idea what am i missing?*



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/SQLCacheQuery-Problem-tp511.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


yakov yakov
Reply | Threaded
Open this post in threaded view
|

Re: SQLCacheQuery Problem

I have added warning panel to the page. Please take a look.

--Yakov

2015-06-18 18:03 GMT+03:00 Isaeed Mohanna <[hidden email]>:
I did not see that coming.... Thank you very much....
A note in Query section of the docmentation will help as well


On Wed, Jun 17, 2015 at 8:52 PM, Alexey Goncharuk <[hidden email]> wrote:
Add module ignite-indexing to the classpath of your project, it should work fine after that. I will create a ticket to make sure Ignite throws a proper error message when indexing is not in the classpath.

2015-06-17 7:22 GMT-07:00 Isaeed Mohanna <[hidden email]>:
Hi
*I am using Ignite 1.0.0, I have a cache defined with the following
configuration (defined at startup):*
CacheConfiguration<?, ?> CacheConfig = new CacheConfiguration<>();
CacheConfig .setName("myCache");
CacheConfig .setCacheMode(CacheMode.REPLICATED);
CacheConfig .setAtomicityMode(CacheAtomicityMode.ATOMIC);
CacheConfig .setIndexedTypes(UUID.class, MyClass.class);
*The class MyClass looks as follows:*
public class MyClass implements Externalizable {
        @QuerySqlField(index = true)
        private UUID id;
        private UUID anotherId;
        @QuerySqlField(index = true)
        private Date time;
  .. setters/ getters and some other fields
}
*I am trying to perform sql query on my cache using the following:*
IgniteCache<UUID, MyClass> reportsSchedule = ignite.cache("myCache");
SqlQuery<UUID, MyClass> sqlQuery = new SqlQuery<UUID,
MyClass>(MyClass.class, "time <= ?");
QueryCursor<Entry&lt;UUID, MyClass>> cursor =
myCache.query(sqlQuery.setArgs(new Date()));

*However I keep getting the following exception:*
Caused by: class org.apache.ignite.IgniteException: Failed to find SQL table
for type: MyClass
        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1699)
        at
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:478)
        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6069)
        at
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:472)

*MyClass and UUID are defined in the configuration as an indexed type, also
annotated as so in MyClass definition however i still receive this
exception. Any idea what am i missing?*



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/SQLCacheQuery-Problem-tp511.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.



Isaeed Mohanna Isaeed Mohanna
Reply | Threaded
Open this post in threaded view
|

Re: SQLCacheQuery Problem

Thats great. Thank you :)

On Fri, Jun 19, 2015 at 12:48 PM, Yakov Zhdanov <[hidden email]> wrote:
I have added warning panel to the page. Please take a look.

--Yakov

2015-06-18 18:03 GMT+03:00 Isaeed Mohanna <[hidden email]>:
I did not see that coming.... Thank you very much....
A note in Query section of the docmentation will help as well


On Wed, Jun 17, 2015 at 8:52 PM, Alexey Goncharuk <[hidden email]> wrote:
Add module ignite-indexing to the classpath of your project, it should work fine after that. I will create a ticket to make sure Ignite throws a proper error message when indexing is not in the classpath.

2015-06-17 7:22 GMT-07:00 Isaeed Mohanna <[hidden email]>:
Hi
*I am using Ignite 1.0.0, I have a cache defined with the following
configuration (defined at startup):*
CacheConfiguration<?, ?> CacheConfig = new CacheConfiguration<>();
CacheConfig .setName("myCache");
CacheConfig .setCacheMode(CacheMode.REPLICATED);
CacheConfig .setAtomicityMode(CacheAtomicityMode.ATOMIC);
CacheConfig .setIndexedTypes(UUID.class, MyClass.class);
*The class MyClass looks as follows:*
public class MyClass implements Externalizable {
        @QuerySqlField(index = true)
        private UUID id;
        private UUID anotherId;
        @QuerySqlField(index = true)
        private Date time;
  .. setters/ getters and some other fields
}
*I am trying to perform sql query on my cache using the following:*
IgniteCache<UUID, MyClass> reportsSchedule = ignite.cache("myCache");
SqlQuery<UUID, MyClass> sqlQuery = new SqlQuery<UUID,
MyClass>(MyClass.class, "time <= ?");
QueryCursor<Entry&lt;UUID, MyClass>> cursor =
myCache.query(sqlQuery.setArgs(new Date()));

*However I keep getting the following exception:*
Caused by: class org.apache.ignite.IgniteException: Failed to find SQL table
for type: MyClass
        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1699)
        at
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:478)
        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6069)
        at
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:472)

*MyClass and UUID are defined in the configuration as an indexed type, also
annotated as so in MyClass definition however i still receive this
exception. Any idea what am i missing?*



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/SQLCacheQuery-Problem-tp511.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.