Alexander, I left my comments in the ticket.
2017-01-06 20:35 GMT+03:00 Denis Magda <dma...@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, Александр Меньшиков <sharple...@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 <dma...@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, Александр Меньшиков <sharple...@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.goncha...@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 <dma...@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, Александр Меньшиков < > >> sharple...@gmail.com > >>>>> > >>>>> wrote: > >>>>>> > >>>>>> > >>>>>> Username: sharpler > >>>>>> > >>>>>> Full Name: Alexander Menshikov > >>>>>> > >>>>>> > >>>>>> > >>>>>> 2016-12-27 22:57 GMT+03:00 Denis Magda <dma...@apache.org <mailto: > >>>>> dma...@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, Александр Меньшиков < > >>>> sharple...@gmail.com > >>>>> <mailto:sharple...@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. > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>> > >> > >> > >