Concurrent SQL Requests lead to errors

classic Classic list List threaded Threaded
4 messages Options
arthi arthi
Reply | Threaded
Open this post in threaded view
|

Concurrent SQL Requests lead to errors

Hi Gurus,

I have a grid with 6 nodes and 4 caches. One of the caches is partitioned (offheap) and others are replicated (onheap). I run SQL queries on this grid from my application.
When I run my application using one user, things work good. But, when I run my application using 48 concurrent users, there are errors. Each new user joins the grid as a client and runs SQL queries. -

Exception in thread "main" javax.cache.CacheException: Failed to run reduce query locally.
        at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:673)
        at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$2.iterator(IgniteH2Indexing.java:956)
        at org.apache.ignite.internal.processors.cache.QueryCursorImpl.iterator(QueryCursorImpl.java:61)
        at com.nielsen.poc.aggregation.ignite.datagrid.CacheClient.printBitmaps(CacheClient.java:88)
        at com.nielsen.poc.aggregation.ignite.datagrid.CacheClient.main(CacheClient.java:39)
Caused by: java.lang.NullPointerException
        at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndexUnsorted$1.hasNext(GridMergeIndexUnsorted.java:97)
        at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndex$IteratorCursor.next(GridMergeIndex.java:327)
        at org.apache.ignite.internal.processors.query.h2.twostep.GridMergeIndex$FetchingCursor.next(GridMergeIndex.java:358)
        at org.apache.ignite.internal.processors.query.h2.twostep.GridReduceQueryExecutor.query(GridReduceQueryExecutor.java:614)
        ... 4 more
-----

Failed to set schema for DB connection for thread [schema="SHOP_ITEM_BITMAP_CACHE"]
....

---

Failed to notify listener: o.a.i.i.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2@454a4121java.lang.NullPointerException
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.updatePartitionSingleMap(GridDhtPartitionsExchangeFuture.java:1404)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.access$600(GridDhtPartitionsExchangeFuture.java:87)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:1249)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2.apply(GridDhtPartitionsExchangeFuture.java:1215)
        at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:262)
        at org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:225)
        at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onReceive(GridDhtPartitionsExchangeFuture.java:1215)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.processSinglePartitionUpdate(GridCachePartitionExchangeManager.java:1070)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.access$900(GridCachePartitionExchangeManager.java:107)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:277)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$2.onMessage(GridCachePartitionExchangeManager.java:275)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:1635)
        at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$MessageHandler.apply(GridCachePartitionExchangeManager.java:1617)
        at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:582)
        at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:280)
        at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:204)
        at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:80)
        at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:163)
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821)
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103)
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

----

Exception in thread "main" java.lang.NullPointerException
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheClosure.call(GridCacheAdapter.java:5769)
        at org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheClosure.call(GridCacheAdapter.java:5716)
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1789)
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509)
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6397)
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503)
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1166)
        at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1770)
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821)
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103)
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

--

Can you please guide here? Do you have any benchmarks on using ignite with several client nodes joining the grid concurrently?

Thanks,
Arthi
Denis Magda Denis Magda
Reply | Threaded
Open this post in threaded view
|

Re: Concurrent SQL Requests lead to errors

Hi Arthi,

This the issue that has been fixed recently
https://issues.apache.org/jira/browse/IGNITE-2542

You can wait for the next release or build Ignite from sources to overcome the issue on your side.

--
Denis
Pavel Tupitsyn Pavel Tupitsyn
Reply | Threaded
Open this post in threaded view
|

Re: Concurrent SQL Requests lead to errors


On Mon, Apr 4, 2016 at 2:19 PM, Denis Magda <[hidden email]> wrote:
Hi Arthi,

This the issue that has been fixed recently
https://issues.apache.org/jira/browse/IGNITE-2542

You can wait for the next release or build Ignite from sources to overcome
the issue on your side.

--
Denis



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Concurrent-SQL-Requests-lead-to-errors-tp3844p3888.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

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

Re: Concurrent SQL Requests lead to errors

Thank you, I will try with the nightly build.

Is there a benchmark / study that calls out the concurrency aspect of the data grid?

Thanks,
Arthi