This is an automated email from the ASF dual-hosted git repository.
bslim pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push:
new e3397ba Enforce Druid's exception class use (#6456)
e3397ba is described below
commit e3397ba00ff6c439b3fb97a8da1e5e27f1cf301a
Author: Roman Leventov <[email protected]>
AuthorDate: Sat Oct 13 20:35:14 2018 -0300
Enforce Druid's exception class use (#6456)
---
.idea/inspectionProfiles/Druid.xml | 52 +++++++++++++++++++++-
.../org/apache/druid/indexer/TaskStatusPlus.java | 4 +-
.../main/java/org/apache/druid/indexer/Jobby.java | 10 ++---
.../druid/security/basic/BasicAuthUtils.java | 3 +-
.../apache/druid/query/filter/BloomDimFilter.java | 3 +-
.../druid/indexing/kafka/KafkaIndexTaskClient.java | 6 +--
.../emitter/core/ParametrizedUriExtractor.java | 5 ++-
.../java/util/http/client/NettyHttpClient.java | 2 +-
.../druid/sql/calcite/schema/SystemSchema.java | 14 +++---
9 files changed, 70 insertions(+), 29 deletions(-)
diff --git a/.idea/inspectionProfiles/Druid.xml
b/.idea/inspectionProfiles/Druid.xml
index 38d6033..b1748e7 100644
--- a/.idea/inspectionProfiles/Druid.xml
+++ b/.idea/inspectionProfiles/Druid.xml
@@ -63,7 +63,6 @@
<inspection_tool class="InvalidComparatorMethodReference" enabled="true"
level="ERROR" enabled_by_default="true" />
<inspection_tool class="IteratorHasNextCallsIteratorNext" enabled="true"
level="ERROR" enabled_by_default="true" />
<inspection_tool class="IteratorNextDoesNotThrowNoSuchElementException"
enabled="true" level="WARNING" enabled_by_default="true" />
- <inspection_tool class="JavadocReference" enabled="true" level="ERROR"
enabled_by_default="true" />
<inspection_tool class="JsonStandardCompliance" enabled="true"
level="WARNING" enabled_by_default="true" />
<inspection_tool class="MalformedFormatString" enabled="true"
level="ERROR" enabled_by_default="true">
<option name="additionalClasses"
value="org.apache.druid.java.util.common.StringUtils,org.apache.druid.java.util.common.logger.Logger"
/>
@@ -113,7 +112,7 @@
<searchConfiguration name="Suboptimal IndexedInts iteration" text="$x$
< $y$.size()" recursive="false" caseInsensitive="true" type="JAVA">
<constraint name="__context__" target="true" within="" contains="" />
<constraint name="x" within="" contains="" />
- <constraint name="y" nameOfExprType="IndexedInts"
exprTypeWithinHierarchy="true" within="" contains="" />
+ <constraint name="y" nameOfExprType="IndexedInts"
expressionTypes="IndexedInts" exprTypeWithinHierarchy="true" within=""
contains="" />
</searchConfiguration>
<searchConfiguration name="Lists.newArrayList() with a single argument.
Use Collections.singletonList() instead" created="1532737126203"
text="Lists.newArrayList($x$)" recursive="false" caseInsensitive="true"
type="JAVA">
<constraint name="x"
nameOfExprType="java\.lang\.Iterable|java\.util\.Iterator|Object\[\]"
expressionTypes="java.lang.Iterable|java.util.Iterator|Object[]"
exprTypeWithinHierarchy="true" negateName="true" negateExprType="true"
within="" contains="" />
@@ -134,6 +133,55 @@
<constraint name="x" nameOfFormalType="java\.util\.Random"
exceptedTypes="java.util.Random" exprTypeWithinHierarchy="true"
formalTypeWithinHierarchy="true" within="" contains="" />
<constraint name="a" within="" contains="" />
</searchConfiguration>
+ <searchConfiguration name="Use RE (a Druid's class)"
created="1539352150701" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$))"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.lang\.RuntimeException" within=""
contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use RE (a Druid's class) with cause"
created="1539353059868" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.lang\.RuntimeException" within=""
contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ <constraint name="y" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use ISE (a Druid's class)"
created="1539353519594" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$))"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.lang\.IllegalStateException"
within="" contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use ISE (a Druid's class) with cause"
created="1539353595734" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.lang\.IllegalStateException"
within="" contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ <constraint name="y" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use IAE (a Druid's class)"
created="1539353691746" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$))"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.lang\.IllegalArgumentException"
within="" contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use IAE (a Druid's class) with cause"
created="1539353766336" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.lang\.IllegalArgumentException"
within="" contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ <constraint name="y" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use IOE (a Druid's class)"
created="1539353913074" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$))"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.io\.IOException" within=""
contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use IOE (a Druid's class) with cause"
created="1539354009031" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E" regexp="java\.io\.IOException" within=""
contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ <constraint name="y" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
+ <searchConfiguration name="Use UOE (a Druid's class)"
created="1539354091201" text="new
$E$(org.apache.druid.java.util.common.StringUtils.format($x$))"
recursive="false" caseInsensitive="true" type="JAVA">
+ <constraint name="__context__" target="true" within="" contains="" />
+ <constraint name="E"
regexp="java\.lang\.UnsupportedOperationException" within="" contains="" />
+ <constraint name="x" minCount="0" maxCount="2147483647" within=""
contains="" />
+ </searchConfiguration>
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false"
level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
diff --git a/api/src/main/java/org/apache/druid/indexer/TaskStatusPlus.java
b/api/src/main/java/org/apache/druid/indexer/TaskStatusPlus.java
index e58d831..4912900 100644
--- a/api/src/main/java/org/apache/druid/indexer/TaskStatusPlus.java
+++ b/api/src/main/java/org/apache/druid/indexer/TaskStatusPlus.java
@@ -22,7 +22,7 @@ package org.apache.druid.indexer;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Preconditions;
-import org.apache.druid.java.util.common.StringUtils;
+import org.apache.druid.java.util.common.RE;
import org.apache.druid.java.util.common.logger.Logger;
import org.joda.time.DateTime;
@@ -104,7 +104,7 @@ public class TaskStatusPlus
this.statusCode = status;
} else {
if (statusCode != null && status != null && statusCode != status) {
- throw new RuntimeException(StringUtils.format("statusCode[%s] and
status[%s] must match", statusCode, status));
+ throw new RE("statusCode[%s] and status[%s] must match", statusCode,
status);
}
this.statusCode = statusCode;
}
diff --git a/common/src/main/java/org/apache/druid/indexer/Jobby.java
b/common/src/main/java/org/apache/druid/indexer/Jobby.java
index c6ea58c..2d13400 100644
--- a/common/src/main/java/org/apache/druid/indexer/Jobby.java
+++ b/common/src/main/java/org/apache/druid/indexer/Jobby.java
@@ -19,7 +19,7 @@
package org.apache.druid.indexer;
-import org.apache.druid.java.util.common.StringUtils;
+import org.apache.druid.java.util.common.UOE;
import javax.annotation.Nullable;
import java.util.Map;
@@ -36,9 +36,7 @@ public interface Jobby
@Nullable
default Map<String, Object> getStats()
{
- throw new UnsupportedOperationException(
- StringUtils.format("This Jobby does not implement getJobStats(), Jobby
class: [%s]", getClass())
- );
+ throw new UOE("This Jobby does not implement getJobStats(), Jobby class:
[%s]", getClass());
}
/**
@@ -48,8 +46,6 @@ public interface Jobby
@Nullable
default String getErrorMessage()
{
- throw new UnsupportedOperationException(
- StringUtils.format("This Jobby does not implement getErrorMessage(),
Jobby class: [%s]", getClass())
- );
+ throw new UOE("This Jobby does not implement getErrorMessage(), Jobby
class: [%s]", getClass());
}
}
diff --git
a/extensions-core/druid-basic-security/src/main/java/org/apache/druid/security/basic/BasicAuthUtils.java
b/extensions-core/druid-basic-security/src/main/java/org/apache/druid/security/basic/BasicAuthUtils.java
index 6677fbc..2274875 100644
---
a/extensions-core/druid-basic-security/src/main/java/org/apache/druid/security/basic/BasicAuthUtils.java
+++
b/extensions-core/druid-basic-security/src/main/java/org/apache/druid/security/basic/BasicAuthUtils.java
@@ -23,6 +23,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Maps;
import org.apache.druid.java.util.common.ISE;
+import org.apache.druid.java.util.common.RE;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.java.util.common.logger.Logger;
import
org.apache.druid.security.basic.authentication.entity.BasicAuthenticatorUser;
@@ -100,7 +101,7 @@ public class BasicAuthUtils
}
catch (NoSuchAlgorithmException nsae) {
log.error("%s not supported on this system.", ALGORITHM);
- throw new RuntimeException(StringUtils.format("%s not supported on this
system.", ALGORITHM), nsae);
+ throw new RE(nsae, "%s not supported on this system.", ALGORITHM);
}
}
diff --git
a/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/filter/BloomDimFilter.java
b/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/filter/BloomDimFilter.java
index 808f709..bfaa37c 100644
---
a/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/filter/BloomDimFilter.java
+++
b/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/filter/BloomDimFilter.java
@@ -25,6 +25,7 @@ import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.collect.RangeSet;
import com.google.common.collect.Sets;
+import org.apache.druid.java.util.common.ISE;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.query.cache.CacheKeyBuilder;
import org.apache.druid.query.extraction.ExtractionFn;
@@ -66,7 +67,7 @@ public class BloomDimFilter implements DimFilter
BloomKFilter.serialize(byteArrayOutputStream, bloomKFilter);
}
catch (IOException e) {
- throw new IllegalStateException(StringUtils.format("Exception when
generating cache key for [%s]", this), e);
+ throw new ISE(e, "Exception when generating cache key for [%s]", this);
}
byte[] bloomFilterBytes = byteArrayOutputStream.toByteArray();
return new CacheKeyBuilder(DimFilterUtils.BLOOM_DIM_FILTER_CACHE_ID)
diff --git
a/extensions-core/kafka-indexing-service/src/main/java/org/apache/druid/indexing/kafka/KafkaIndexTaskClient.java
b/extensions-core/kafka-indexing-service/src/main/java/org/apache/druid/indexing/kafka/KafkaIndexTaskClient.java
index c81b1be..3bc52eb 100644
---
a/extensions-core/kafka-indexing-service/src/main/java/org/apache/druid/indexing/kafka/KafkaIndexTaskClient.java
+++
b/extensions-core/kafka-indexing-service/src/main/java/org/apache/druid/indexing/kafka/KafkaIndexTaskClient.java
@@ -26,6 +26,7 @@ import com.google.common.util.concurrent.ListenableFuture;
import org.apache.druid.indexing.common.IndexTaskClient;
import org.apache.druid.indexing.common.TaskInfoProvider;
import org.apache.druid.java.util.common.ISE;
+import org.apache.druid.java.util.common.RE;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.java.util.common.jackson.JacksonUtils;
import org.apache.druid.java.util.emitter.EmittingLogger;
@@ -142,10 +143,7 @@ public class KafkaIndexTaskClient extends IndexTaskClient
return ImmutableMap.of();
}
catch (IOException | InterruptedException e) {
- throw new RuntimeException(
- StringUtils.format("Exception [%s] while pausing Task [%s]",
e.getMessage(), id),
- e
- );
+ throw new RE(e, "Exception [%s] while pausing Task [%s]",
e.getMessage(), id);
}
}
diff --git
a/java-util/src/main/java/org/apache/druid/java/util/emitter/core/ParametrizedUriExtractor.java
b/java-util/src/main/java/org/apache/druid/java/util/emitter/core/ParametrizedUriExtractor.java
index 68baeff..9dcde24 100644
---
a/java-util/src/main/java/org/apache/druid/java/util/emitter/core/ParametrizedUriExtractor.java
+++
b/java-util/src/main/java/org/apache/druid/java/util/emitter/core/ParametrizedUriExtractor.java
@@ -19,6 +19,7 @@
package org.apache.druid.java.util.emitter.core;
+import org.apache.druid.java.util.common.IAE;
import org.apache.druid.java.util.common.StringUtils;
import java.net.URI;
@@ -57,12 +58,12 @@ public class ParametrizedUriExtractor implements
UriExtractor
for (String key : params) {
Object paramValue = eventMap.get(key);
if (paramValue == null) {
- throw new IllegalArgumentException(StringUtils.format(
+ throw new IAE(
"ParametrizedUriExtractor with pattern %s requires %s to be set in
event, but found %s",
uriPattern,
key,
eventMap
- ));
+ );
}
processedUri = processedUri.replace(StringUtils.format("{%s}", key),
paramValue.toString());
}
diff --git
a/java-util/src/main/java/org/apache/druid/java/util/http/client/NettyHttpClient.java
b/java-util/src/main/java/org/apache/druid/java/util/http/client/NettyHttpClient.java
index 4603a33..ea41e7d 100644
---
a/java-util/src/main/java/org/apache/druid/java/util/http/client/NettyHttpClient.java
+++
b/java-util/src/main/java/org/apache/druid/java/util/http/client/NettyHttpClient.java
@@ -253,7 +253,7 @@ public class NettyHttpClient extends AbstractHttpClient
possiblySuspendReads(response);
}
} else {
- throw new IllegalStateException(StringUtils.format("Unknown
message type[%s]", msg.getClass()));
+ throw new ISE("Unknown message type[%s]", msg.getClass());
}
}
catch (Exception ex) {
diff --git
a/sql/src/main/java/org/apache/druid/sql/calcite/schema/SystemSchema.java
b/sql/src/main/java/org/apache/druid/sql/calcite/schema/SystemSchema.java
index 8e219a6..8a1dbc8 100644
--- a/sql/src/main/java/org/apache/druid/sql/calcite/schema/SystemSchema.java
+++ b/sql/src/main/java/org/apache/druid/sql/calcite/schema/SystemSchema.java
@@ -47,6 +47,7 @@ import org.apache.druid.client.coordinator.Coordinator;
import org.apache.druid.client.indexing.IndexingService;
import org.apache.druid.discovery.DruidLeaderClient;
import org.apache.druid.indexer.TaskStatusPlus;
+import org.apache.druid.java.util.common.RE;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.java.util.common.parsers.CloseableIterator;
import org.apache.druid.java.util.http.client.Request;
@@ -259,10 +260,7 @@ public class SystemSchema extends AbstractSchema
};
}
catch (JsonProcessingException e) {
- throw new RuntimeException(StringUtils.format(
- "Error getting segment payload for segment %s",
- val.getIdentifier()
- ), e);
+ throw new RE(e, "Error getting segment payload for segment %s",
val.getIdentifier());
}
});
@@ -294,15 +292,13 @@ public class SystemSchema extends AbstractSchema
};
}
catch (JsonProcessingException e) {
- throw new RuntimeException(StringUtils.format(
- "Error getting segment payload for segment %s",
- val.getKey().getIdentifier()
- ), e);
+ throw new RE(e, "Error getting segment payload for segment %s",
val.getKey().getIdentifier());
}
});
final Iterable<Object[]> allSegments = Iterables.unmodifiableIterable(
- Iterables.concat(publishedSegments, availableSegments));
+ Iterables.concat(publishedSegments, availableSegments)
+ );
return Linq4j.asEnumerable(allSegments).where(t -> t != null);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]