Agree we should throw a UserRpcException. This used to be the pattern everywhere before we added an accommodation to support non-connection terminating exceptions. I came to the conclusion that the Ack.Fail pattern was actually an anti-pattern since it requires the sender to check the nature of the message to determine if it was successful and makes things like outcome listeners much more complicated. I thought we fixed this everywhere but apparently not.
-- Jacques Nadeau CTO and Co-Founder, Dremio On Wed, Jan 6, 2016 at 3:57 PM, Abdel Hakim Deneche <[email protected]> wrote: > Looking at DataServer.send() when we hit an IOException or a > FragmentSetupException we log the error and return a FAILED acknowledgment > to the sender. The query fails and displays a generic "Data not accepted > downstream" message instead of the real exception. > > Is there a specific reason we do it this way ? Why not just throw an > exception and let the RPC layer propagate the root cause to the sender ? > > Thanks > > -- > > Abdelhakim Deneche > > Software Engineer > > <http://www.mapr.com/> > > > Now Available - Free Hadoop On-Demand Training > <http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available> >
