You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by su...@apache.org on 2023/02/14 23:56:06 UTC
[druid] branch master updated: Better logs for query errors (#13776)
This is an automated email from the ASF dual-hosted git repository.
suneet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new f67abf2e99 Better logs for query errors (#13776)
f67abf2e99 is described below
commit f67abf2e99c6ffe3f4f11256a3a170796ef4bae0
Author: Suneet Saldanha <su...@apache.org>
AuthorDate: Tue Feb 14 15:55:58 2023 -0800
Better logs for query errors (#13776)
* Better logs for query errors
* checkstyle
---
.../java/org/apache/druid/query/QueryException.java | 14 ++++++++++++++
.../org/apache/druid/query/QueryExceptionTest.java | 12 ++++++++++++
.../apache/druid/query/QueryInterruptedException.java | 13 -------------
.../druid/query/QueryInterruptedExceptionTest.java | 18 ++++++++++++++++++
4 files changed, 44 insertions(+), 13 deletions(-)
diff --git a/core/src/main/java/org/apache/druid/query/QueryException.java b/core/src/main/java/org/apache/druid/query/QueryException.java
index 3bb896cef8..5dbdef6ddb 100644
--- a/core/src/main/java/org/apache/druid/query/QueryException.java
+++ b/core/src/main/java/org/apache/druid/query/QueryException.java
@@ -22,6 +22,7 @@ package org.apache.druid.query;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.druid.common.exception.SanitizableException;
+import org.apache.druid.java.util.common.StringUtils;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
@@ -224,4 +225,17 @@ public class QueryException extends RuntimeException implements SanitizableExcep
{
return fromErrorCode(errorCode);
}
+
+ @Override
+ public String toString()
+ {
+ return StringUtils.format(
+ "%s{msg=%s, code=%s, class=%s, host=%s}",
+ getClass().getSimpleName(),
+ getMessage(),
+ getErrorCode(),
+ getErrorClass(),
+ getHost()
+ );
+ }
}
diff --git a/core/src/test/java/org/apache/druid/query/QueryExceptionTest.java b/core/src/test/java/org/apache/druid/query/QueryExceptionTest.java
index 8212ebc344..10a0b78521 100644
--- a/core/src/test/java/org/apache/druid/query/QueryExceptionTest.java
+++ b/core/src/test/java/org/apache/druid/query/QueryExceptionTest.java
@@ -113,6 +113,18 @@ public class QueryExceptionTest
Assert.assertNull(exception.getMessage());
}
+ @Test
+ public void testToStringReturnsUsefulInformation()
+ {
+ QueryException queryException = new QueryException(ERROR_CODE, ERROR_MESSAGE_ORIGINAL, ERROR_CLASS, HOST);
+ String exceptionToString = queryException.toString();
+ Assert.assertTrue(exceptionToString.startsWith(QueryException.class.getSimpleName()));
+ Assert.assertTrue(exceptionToString.contains("msg=" + ERROR_MESSAGE_ORIGINAL));
+ Assert.assertTrue(exceptionToString.contains("code=" + ERROR_CODE));
+ Assert.assertTrue(exceptionToString.contains("class=" + ERROR_CLASS));
+ Assert.assertTrue(exceptionToString.contains("host=" + HOST));
+ }
+
private void expectFailTypeForCode(FailType expected, String code)
{
QueryException exception = new QueryException(new Exception(), code, "java.lang.Exception", "test");
diff --git a/processing/src/main/java/org/apache/druid/query/QueryInterruptedException.java b/processing/src/main/java/org/apache/druid/query/QueryInterruptedException.java
index 91760aa7c1..f1893cf3ea 100644
--- a/processing/src/main/java/org/apache/druid/query/QueryInterruptedException.java
+++ b/processing/src/main/java/org/apache/druid/query/QueryInterruptedException.java
@@ -21,7 +21,6 @@ package org.apache.druid.query;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.druid.java.util.common.StringUtils;
import javax.annotation.Nullable;
import java.util.concurrent.CancellationException;
@@ -70,18 +69,6 @@ public class QueryInterruptedException extends QueryException
super(cause, getErrorCodeFromThrowable(cause), getErrorClassFromThrowable(cause), host);
}
- @Override
- public String toString()
- {
- return StringUtils.format(
- "QueryInterruptedException{msg=%s, code=%s, class=%s, host=%s}",
- getMessage(),
- getErrorCode(),
- getErrorClass(),
- getHost()
- );
- }
-
private static String getErrorCodeFromThrowable(Throwable e)
{
if (e instanceof QueryInterruptedException) {
diff --git a/processing/src/test/java/org/apache/druid/query/QueryInterruptedExceptionTest.java b/processing/src/test/java/org/apache/druid/query/QueryInterruptedExceptionTest.java
index b450b6ba71..70e688e462 100644
--- a/processing/src/test/java/org/apache/druid/query/QueryInterruptedExceptionTest.java
+++ b/processing/src/test/java/org/apache/druid/query/QueryInterruptedExceptionTest.java
@@ -170,6 +170,24 @@ public class QueryInterruptedExceptionTest
);
}
+ @Test
+ public void testToStringShouldReturnUsefulInformation()
+ {
+ QueryInterruptedException exception = new QueryInterruptedException(
+ "error",
+ "error messagez",
+ "error class",
+ "host"
+ );
+ String exceptionString = exception.toString();
+ Assert.assertTrue(exceptionString.startsWith(QueryInterruptedException.class.getSimpleName()));
+ Assert.assertTrue(exceptionString.contains("code=" + "error"));
+ Assert.assertTrue(exceptionString.contains("msg=" + "error messagez"));
+ Assert.assertTrue(exceptionString.contains("class=" + "error class"));
+ Assert.assertTrue(exceptionString.contains("host=" + "host"));
+
+ }
+
private static QueryInterruptedException roundTrip(final QueryInterruptedException e)
{
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org