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 Fri, 06 Jan 2017 17:35:19 GMT
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
View raw message