You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Sumit Sethia <su...@gmail.com> on 2017/10/17 08:23:36 UTC

queryResult.getAll() stuck !!

Hi, I am trying to execute two step cache query but it stucks at getAll()
method. I have binary caches stored. Here is my query:

IgniteCache igniteCache =
Ignition.ignite().cache(campaign_cache).withKeepBinary();

String query = "select x.name from \"table_1_cache\".`table_1` as x
where x.id = (select z.id from \"table_2_cache\".`table_2` as z where
z.id='xyz');";

SqlFieldsQuery sqlFieldsQuery = new SqlFieldsQuery(query);

FieldsQueryCursor queryResult = igniteCache.query(sqlFieldsQuery);

//System.out.println(queryResult.getAll());

When I print queryResult.getAll(), it get stuck and doesn't proceed.

But when I execute single select queries, it works fine.

How will it work ?


Thanks,

Sumit.

Re: queryResult.getAll() stuck !!

Posted by Andrey Mashenkov <an...@gmail.com>.
Hi Sumit,

What is version of Ignite do you use?
Do you observe any CPU load?
Would you please share query plan? You can get it via H2 console [1].
Do you create table via "CREATE TABLE" SQL command.

It is possible, simple queries by PK are broken and full scan performed
instead of using index in some cases in 2.1 version.
This already fixed and will be available from 2.3 that is coming soon.

[1]
https://apacheignite.readme.io/v2.2/docs/sql-performance-and-debugging#using-h2-debug-console



On Wed, Oct 18, 2017 at 12:03 PM, Sumit Sethia <su...@gmail.com>
wrote:

> Hi Alexander, there is no suspicious log as far as I can see.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>



-- 
Best regards,
Andrey V. Mashenkov

Re: queryResult.getAll() stuck !!

Posted by Sumit Sethia <su...@gmail.com>.
Hi Alexander, there is no suspicious log as far as I can see. 



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: queryResult.getAll() stuck !!

Posted by Sumit Sethia <su...@gmail.com>.
I see the iterator is null.

On 17 Oct 2017 3:34 pm, "Sumit Sethia" <su...@gmail.com> wrote:

> Hi Ilya, table_1_cache contains around 16K entries and table_2_cache
> contains
> around 2 million entries.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Re: queryResult.getAll() stuck !!

Posted by Sumit Sethia <su...@gmail.com>.
Hi Ilya, table_1_cache contains around 16K entries and table_2_cache contains
around 2 million entries.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: queryResult.getAll() stuck !!

Posted by Alexander Paschenko <al...@gmail.com>.
Hi Sumit,

Is there anything suspicious in the logs?

- Alex

вт, 17 окт. 2017 г. в 12:21, Ilya Kasnacheev <il...@gmail.com>:

> Hello Sumit!
>
> How many entries do you have in campaign_cache? You might be running out
> of memory in toString() before println if not in Ignite.
>
> Regards,
>
> --
> Ilya Kasnacheev
>
> 2017-10-17 11:23 GMT+03:00 Sumit Sethia <su...@gmail.com>:
>
>> Hi, I am trying to execute two step cache query but it stucks at getAll()
>> method. I have binary caches stored. Here is my query:
>>
>> IgniteCache igniteCache =
>> Ignition.ignite().cache(campaign_cache).withKeepBinary();
>>
>> String query = "select x.name from \"table_1_cache\".`table_1` as x where x.id = (select z.id from \"table_2_cache\".`table_2` as z where z.id='xyz');";
>>
>> SqlFieldsQuery sqlFieldsQuery = new SqlFieldsQuery(query);
>>
>> FieldsQueryCursor queryResult = igniteCache.query(sqlFieldsQuery);
>>
>> //System.out.println(queryResult.getAll());
>>
>> When I print queryResult.getAll(), it get stuck and doesn't proceed.
>>
>> But when I execute single select queries, it works fine.
>>
>> How will it work ?
>>
>>
>> Thanks,
>>
>> Sumit.
>>
>>
>

Re: queryResult.getAll() stuck !!

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello Sumit!

How many entries do you have in campaign_cache? You might be running out of
memory in toString() before println if not in Ignite.

Regards,

-- 
Ilya Kasnacheev

2017-10-17 11:23 GMT+03:00 Sumit Sethia <su...@gmail.com>:

> Hi, I am trying to execute two step cache query but it stucks at getAll()
> method. I have binary caches stored. Here is my query:
>
> IgniteCache igniteCache = Ignition.ignite().cache(campaign_cache).
> withKeepBinary();
>
> String query = "select x.name from \"table_1_cache\".`table_1` as x where x.id = (select z.id from \"table_2_cache\".`table_2` as z where z.id='xyz');";
>
> SqlFieldsQuery sqlFieldsQuery = new SqlFieldsQuery(query);
>
> FieldsQueryCursor queryResult = igniteCache.query(sqlFieldsQuery);
>
> //System.out.println(queryResult.getAll());
>
> When I print queryResult.getAll(), it get stuck and doesn't proceed.
>
> But when I execute single select queries, it works fine.
>
> How will it work ?
>
>
> Thanks,
>
> Sumit.
>
>