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 Wed, 28 Dec 2016 19:06:24 GMT
Alexander, added you to the contributors list. Please check that you can assign the ticket
on yourself.

—
Denis

> On Dec 28, 2016, at 2:15 AM, Александр Меньшиков <sharplermc@gmail.com>
wrote:
> 
> 
> Username: sharpler
> 
> Full Name: Alexander Menshikov
> 
> 
> 
> 2016-12-27 22:57 GMT+03:00 Denis Magda <dmagda@apache.org <mailto:dmagda@apache.org>>:
> 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
<mailto: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>
> > <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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message