Errors are grouped by exception types and stack traces, which means that two exceptions with same exception type thrown from different places will not be the same.
If those exceptions differ only by the error message, can you explain a bit the code structure that throws and captures the exceptions ? Properly chained exceptions (that are created with a cause) will result in distinct stack traces.
Also, do you have any JSON documents for such errors that have the same grouping_key but are actually different exceptions ?
This is a bit of a contrived example. In a real world application you would likely throw those exceptions in different methods. When you do that the exceptions have different stack traces and, hence, a different error Group ID. The message of the exception is not taken into consideration as it often contains dynamic parameters. Example form the JDK:
static NumberFormatException forInputString(String s) {
return new NumberFormatException("For input string: \"" + s + "\"");
}
You wouldn't want to have different grouping keys for different inputs that have been thrown in the same method.
To add to that: the line number of stack traces are not considered in the grouping key. The reason is that line numbers change much more frequently in-between releases than method names. And you wouldn't want to see a new grouping key when just an empty line has been removed, for example.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.