It sounds like the consensus is: don’t change [the current questionable uses of getMessage] unless willing go a step further and provide a detailed, informative message, which may include the exception’s toString.
Thanks. -Owen > On May 28, 2019, at 3:32 PM, Nabarun Nag <n...@apache.org> wrote: > > Looking at the ticket, it looks like it is an improvement request for some > additional information for the end user, can we just do what Kirk and Bruce > suggested. Add some logs to explain what happened. In my opinion, an end > user will be more happy to get some detail information rather than an > exception class name. > > Regards > Nabarun Nag > > On Tue, May 28, 2019 at 3:08 PM Owen Nichols <onich...@pivotal.io> wrote: > >> This example came from https://issues.apache.org/jira/browse/GEODE-6796 >> in which the submitter assumed that Geode was deliberately emitting a >> poorly-worded and confusing error message. >> >> @abaker It sounds like your recommendation for this particular ticket >> would be to resolve as ’Not A Bug’, is that correct? >> >>> On May 28, 2019, at 10:03 AM, Anthony Baker <aba...@pivotal.io> wrote: >>> >>> In the example you provided, I don’t agree that adding the exception >> class name creates a better user experience. >>> >>> Anthony >>> >>> >>>> On May 25, 2019, at 6:39 PM, Owen Nichols <onich...@pivotal.io> wrote: >>>> >>>> Here’s an example of a message that was logged before Jack’s change: >>>> >>>> l192.168.99.1: nodename nor servname provided, or not known >>>> >>>> Here’s what it will look like now with .toString() instead of >> .getMessage(): >>>> >>>> java.net.UnknownHostException: l192.168.99.1: nodename nor servname >> provided, or not known >>>> >>>> >>>> I cannot think of a single good reason to ever print an exception’s >> message stripped of all context. As Jack noted, many exceptions don’t even >> have a message; the key information is the class of the exception itself. >> Even if you aren’t catching Exception but rather some very specific >> subclass, code should never make assumptions about the text of an exception >> (see PR#3616 <https://github.com/apache/geode/pull/3616> for a recent >> example). >>>> >>>> >>>> @jinmei There is no built-in method in java to capture the entire >> stacktrace as a string. Exception::toString() just concatenates the >> exception class name and message (i.e. the first line only of a full >> stacktrace) >>>> >>>> >>>>> On May 24, 2019, at 3:37 PM, Dan Smith <dsm...@pivotal.io> wrote: >>>>> >>>>> I think the right thing to do in those 100+ cases may be different in >> each >>>>> case, a blanket search and replace might not be the best idea. >>>>> >>>>> -Dan >>>>> >>>>> >>>>> >>>>> On Fri, May 24, 2019 at 3:05 PM Jinmei Liao <jil...@pivotal.io> wrote: >>>>> >>>>>> does exception.toString() print out the entire stack trace? If so, I >> don't >>>>>> think we should use that to replace exception.getMessage(). >>>>>> >>>>>> On Fri, May 24, 2019 at 1:18 PM Jack Weissburg <jweissb...@pivotal.io >>> >>>>>> wrote: >>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> Owen and I investigated a strange error message caused because Geode >>>>>>> previously handled an error exception with exception.getMessage() >> instead >>>>>>> of >>>>>>> exception.toString(). >>>>>>> >>>>>>> The issue is that the exception message from exception.getMessage() >> could >>>>>>> be unhelpful or empty. Instead, we should return the whole exception >> via >>>>>>> exception.toString(). >>>>>>> >>>>>>> exception.getMessage()is used widely throughout the Geode code base >> (100+ >>>>>>> times) and could be prone to cause more issues similar to >>>>>>> https://issues.apache.org/jira/browse/GEODE-6796 >>>>>>> I would like to change the remaining instances of >>>>>> exception.getMessage()to >>>>>>> avoid future issues of this variety. >>>>>>> >>>>>>> Thoughts? Comments? >>>>>>> >>>>>>> Best, >>>>>>> Jack Weissburg >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Cheers >>>>>> >>>>>> Jinmei >>>>>> >>>> >>> >> >>