ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Goncharuk <alexey.goncha...@gmail.com>
Subject Re: IGNITE-4487 - NPE on query execution
Date Mon, 09 Jan 2017 08:07:20 GMT
Alexander,

I left my comments in the ticket.

2017-01-06 20:35 GMT+03:00 Denis Magda <dmagda@apache.org>:

> Thanks Alexander.
>
> Someone will review and merge your changes in the nearest time. Alex G.,
> can you do that?
>
> —
> Denis
>
> > On Jan 6, 2017, at 5:07 AM, Александр Меньшиков <sharplermc@gmail.com>
> wrote:
> >
> > http://ci.ignite.apache.org/project.html?projectId=IgniteTests&tab=
> projectOverview&branch_IgniteTests=pull%2F1388%2Fmerge
> >
> > There are overview of tests. It seems okay. A little unclear because
> there
> > are tests which  failed also in master branch.
> >
> > 2016-12-29 19:49 GMT+03:00 Denis Magda <dmagda@apache.org>:
> >
> >> Alexander, thanks.
> >>
> >> Please move the ticket from “open” into “patch available” state in JIRA
> >> and run the tests on TeamCity. Refer to the details covered there
> >> https://cwiki.apache.org/confluence/display/IGNITE/How+
> >> to+Contribute#HowtoContribute-1.CreateGitHubpull-request <
> >> https://cwiki.apache.org/confluence/display/IGNITE/How+
> >> to+Contribute#HowtoContribute-1.CreateGitHubpull-request>
> >>
> >> —
> >> Denis
> >>
> >>> On Dec 29, 2016, at 3:45 AM, Александр Меньшиков <sharplermc@gmail.com
> >
> >> wrote:
> >>>
> >>> Alexey, I'm already make pull request where throw exception in that
> >> place.
> >>>
> >>> https://github.com/apache/ignite/pull/1388/commits
> >>>
> >>> 2016-12-29 11:16 GMT+03:00 Alexey Goncharuk <
> alexey.goncharuk@gmail.com
> >>> :
> >>>
> >>>> I think that If fallbacks(...) returns an empty nodes collection, then
> >> we
> >>>> should fail with an exception.
> >>>>
> >>>> 2016-12-28 22:06 GMT+03:00 Denis Magda <dmagda@apache.org>:
> >>>>
> >>>>> 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