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

Reply via email to