You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by si...@apache.org on 2021/10/26 21:16:55 UTC
[atlas] branch master updated: ATLAS-4461: DSL Search : DSL Search
with only typename throws NPE
This is an automated email from the ASF dual-hosted git repository.
sidmishra pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/master by this push:
new a5ffaae ATLAS-4461: DSL Search : DSL Search with only typename throws NPE
a5ffaae is described below
commit a5ffaae5cb8649a476b233db83ebe1f149991f5d
Author: Radhika Kundam <rk...@cloudera.com>
AuthorDate: Fri Oct 22 17:59:54 2021 -0700
ATLAS-4461: DSL Search : DSL Search with only typename throws NPE
Signed-off-by: Sidharth Mishra <si...@apache.org>
---
.../src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java | 10 +++++-----
webapp/src/main/java/org/apache/atlas/web/util/Servlets.java | 10 +++++++---
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java b/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
index 287b611..0b044d4 100644
--- a/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
+++ b/webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
@@ -110,16 +110,16 @@ public class DiscoveryREST {
Servlets.validateQueryParamLength("typeName", typeName);
Servlets.validateQueryParamLength("classification", classification);
- if (StringUtils.isNotEmpty(query) && query.length() > maxDslQueryLength) {
- throw new AtlasBaseException(AtlasErrorCode.INVALID_QUERY_LENGTH, Constants.MAX_DSL_QUERY_STR_LENGTH);
+ if (StringUtils.isNotEmpty(query)) {
+ if (query.length() > maxDslQueryLength) {
+ throw new AtlasBaseException(AtlasErrorCode.INVALID_QUERY_LENGTH, Constants.MAX_DSL_QUERY_STR_LENGTH);
+ }
+ query = Servlets.decodeQueryString(query);
}
AtlasPerfTracer perf = null;
try {
-
- query = Servlets.decodeQueryString(query);
-
if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "DiscoveryREST.searchUsingDSL(" + query + "," + typeName
+ "," + classification + "," + limit + "," + offset + ")");
diff --git a/webapp/src/main/java/org/apache/atlas/web/util/Servlets.java b/webapp/src/main/java/org/apache/atlas/web/util/Servlets.java
index bc7e71b..f27ce19 100755
--- a/webapp/src/main/java/org/apache/atlas/web/util/Servlets.java
+++ b/webapp/src/main/java/org/apache/atlas/web/util/Servlets.java
@@ -214,8 +214,12 @@ public final class Servlets {
}
}
- public static String decodeQueryString(String query) {
- return UriUtils.decode(query,"UTF-8");
-
+ public static String decodeQueryString(String query) throws AtlasBaseException {
+ try {
+ return UriUtils.decode(query,"UTF-8");
+ } catch (Exception e) {
+ LOG.error("Error occurred while decoding query:" + query, e.getMessage());
+ throw new AtlasBaseException(e.getMessage());
+ }
}
}