ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@apache.org>
Subject Re: IGNITE-4487 - NPE on query execution
Date Tue, 27 Dec 2016 19:57:58 GMT
Alexander,

I need to know your JIRA ID in order to add you to the contributors list.

As for your questions, this situation might be caused by the race when a cache is being stopped
and there are still scan queries running in parallel. So, in general it’s not about data
loss.

Sam, Alex G., could you share your thoughts in regards to the proper fix?

—
Denis
 
> On Dec 26, 2016, at 2:43 AM, Александр Меньшиков <sharplermc@gmail.com>
wrote:
> 
> Hello everyone.
> 
> I want to pick up *https://issues.apache.org/jira/browse/IGNITE-4487
> <https://issues.apache.org/jira/browse/IGNITE-4487>* as my
> first issue.
> 
> Please add me as contributor.
> 
> I already found that: in inner class
> 'GridCacheQueryAdapter.ScanQueryFallbackClosableIterator' in constructor is
> called with method 'init()', but method 'init()' cannot be called with an
> empty field 'nodes'. In source code it looks like:
> 
> private ScanQueryFallbackClosableIterator(int part, GridCacheQueryAdapter
> qry,
>            GridCacheQueryManager qryMgr, GridCacheContext cctx) {
>            this.qry = qry;
>            this.qryMgr = qryMgr;
>            this.cctx = cctx;
>            this.part = part;
> 
>            nodes = fallbacks(cctx.discovery().topologyVersionEx());
>            // !!! Here nodes.isEmpty()==true, and init() will fail in the
> future. !!!
>            init();
>        }
> 
> I can fix it by adding some check in code, but i must know what behavior
> are best in this case? As I understand it, the list of nodes is empty if
> there are no nodes with the current partition, which means data loss, and
> either need to return a meaningful exception, or ignore this situation. But
> maybe I missed something.


Mime
View raw message