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. > > > > > > > > > > >