Hello! I have filed an issue https://issues.apache.org/jira/browse/IGNITE-7962 - going to work on it soon.
I have also filed a ticket about usability issue: https://issues.apache.org/jira/browse/IGNITE-7963 Feedback is appreciated. Regards, -- Ilya Kasnacheev 2018-03-14 23:35 GMT+03:00 Valentin Kulichenko < valentin.kuliche...@gmail.com>: > Ilya, > > Yes, this is definitely a bug, please create a ticket. > > -Val > > On Wed, Mar 14, 2018 at 2:16 AM, Ilya Kasnacheev < > ilya.kasnach...@gmail.com> > wrote: > > > Hello Val! > > > > No, this does NOT happen. If you collect future, call get() on it later, > it > > will finish normally despite exceptions in server log and entry not being > > written. I will do some digging to figure out why this happens exactly. > > > > There's also another huge problems with DataStreamer's futures. They > never > > finish unless you call flush() on DS before calling get() on futures. > > I think this is a colossal usability problem (I'm pretty sure I've seen > > numerous messages about it on userlist) and I'll fill an issue if nobody > is > > objecting. > > > > Ilya. > > > > -- > > Ilya Kasnacheev > > > > 2018-03-05 22:50 GMT+03:00 Valentin Kulichenko < > > valentin.kuliche...@gmail.com>: > > > > > Ilya, > > > > > > IgniteDataStreamer#addData method returns future which should be > > completed > > > with error if one is thrown on server side. Does this happen or not? > > > > > > -Val > > > > > > On Mon, Mar 5, 2018 at 4:10 AM, Nikolay Izhikov <nizhi...@apache.org> > > > wrote: > > > > > > > Hello, Ilya. > > > > > > > > > I think it's time to end this, if that was the case. DataStreamer > > > should > > > > > not be a special case and it should guarantee data safety. WDYT? > > > > > > > > +1 from me. > > > > > > > > I'm also facing this issue. > > > > > > > > Ticket - https://issues.apache.org/jira/browse/IGNITE-7756 > > > > Discussion - http://apache-ignite-developers.2346864.n4.nabble. > > > > com/IgniteDataStreamer-silently-fails-on-a-server-node-td27239.html > > > > > > > > > > > > > > > > В Пн, 05/03/2018 в 14:46 +0300, Ilya Kasnacheev пишет: > > > > > Dear Igniters, why do I have a hunch that DataStreamer would > readily > > > > > swallow exceptions? > > > > > > > > > > DataStreamerImpl:1756 swallows marshalling error, lines 1774 & 1781 > > eat > > > > > deployment errors. > > > > > > > > > > Some people are worried they can fill a leaking vessel without > > noticing > > > > > anything off. > > > > > Also in line 2156 fsync() on WAL can throw exceptions, which will > be > > > > > swallowed, and IMP this fsync doesn't belong to DataStreamer code. > > > > > > > > > > This question is not purely theoretical, we have also replaced one > of > > > > these > > > > > eaters with throw with IGNITE-7519. > > > > > > > > > > There was a fault in PDS implementation, which did not propagate to > > > > client. > > > > > A serious issue IMHO. > > > > > > > > > > As a data streamer user I will expect that flush()/close() will > throw > > > any > > > > > pending exceptions and will only be silent if all data landed > safely > > in > > > > the > > > > > cluster. > > > > > > > > > > I also have this feeling that DataStreamer was written using very > > > > internal > > > > > APIs so that it can compromise guarantees that cache and SQL APIs > are > > > > bound > > > > > by. I think I've heard something about not recovering properly in > > case > > > of > > > > > node failures. > > > > > I think it's time to end this, if that was the case. DataStreamer > > > should > > > > > not be a special case and it should guarantee data safety. WDYT? > > > > > > > > > > > > > > >