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 <rkun...@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 <sidmis...@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()); + } } }