ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Александр Меньшиков <sharple...@gmail.com>
Subject Re: IGNITE-4487 - NPE on query execution
Date Wed, 28 Dec 2016 10:15:10 GMT
Username: sharpler

Full Name: Alexander Menshikov



2016-12-27 22:57 GMT+03:00 Denis Magda <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>
> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message