You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by su...@apache.org on 2016/08/04 01:00:51 UTC
incubator-atlas git commit: ATLAS-1088 Fix /search api to default to
fulltext on dsl failure (sumasai)
Repository: incubator-atlas
Updated Branches:
refs/heads/master a165234cd -> dd030ecaa
ATLAS-1088 Fix /search api to default to fulltext on dsl failure (sumasai)
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/dd030eca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/dd030eca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/dd030eca
Branch: refs/heads/master
Commit: dd030ecaa06e1514d5c80aa816cd206f0bf16d68
Parents: a165234
Author: Suma Shivaprasad <su...@gmail.com>
Authored: Wed Aug 3 18:00:41 2016 -0700
Committer: Suma Shivaprasad <su...@gmail.com>
Committed: Wed Aug 3 18:00:41 2016 -0700
----------------------------------------------------------------------
release-log.txt | 1 +
.../web/resources/MetadataDiscoveryResource.java | 16 ++++++++++++++--
.../MetadataDiscoveryJerseyResourceIT.java | 19 +++++++++++++++++++
3 files changed, 34 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/dd030eca/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 6e73a7d..35c1ea8 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -6,6 +6,7 @@ INCOMPATIBLE CHANGES:
ALL CHANGES:
+ATLAS-1088 Fix /search api to default to fulltext on dsl failure (sumasai)
ATLAS-762 Assertion in NegativeSSLAndKerberosTest.testUnsecuredClient needs to be hardened (nixonrodrigues via sumasai)
ATLAS-1071 Regression - UI - Details Button under Audits Tab is not working.(kevalbhatt18 via sumasai)
ATLAS-965 Old lineage still exists after dropping tables and re-creating tables with same name. (shwethags via sumasai)
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/dd030eca/webapp/src/main/java/org/apache/atlas/web/resources/MetadataDiscoveryResource.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/atlas/web/resources/MetadataDiscoveryResource.java b/webapp/src/main/java/org/apache/atlas/web/resources/MetadataDiscoveryResource.java
index ea87ee1..64344da 100755
--- a/webapp/src/main/java/org/apache/atlas/web/resources/MetadataDiscoveryResource.java
+++ b/webapp/src/main/java/org/apache/atlas/web/resources/MetadataDiscoveryResource.java
@@ -93,8 +93,20 @@ public class MetadataDiscoveryResource {
if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "MetadataDiscoveryResource.search(" + query + ", " + limit + ", " + offset + ")");
}
- Response response = searchUsingQueryDSL(query, limit, offset);
- if (response.getStatus() != Response.Status.OK.getStatusCode()) {
+
+ boolean dslQueryFailed = false;
+ Response response = null;
+ try {
+ response = searchUsingQueryDSL(query, limit, offset);
+ if (response.getStatus() != Response.Status.OK.getStatusCode()) {
+ dslQueryFailed = true;
+ }
+ } catch (Exception e) {
+ LOG.debug("Error while running DSL. Switching to fulltext for query {}", query, e);
+ dslQueryFailed = true;
+ }
+
+ if ( dslQueryFailed ) {
response = searchUsingFullText(query, limit, offset);
}
AtlasPerfTracer.log(perf);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/dd030eca/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
index 067c161..9aff145 100755
--- a/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java
@@ -196,6 +196,25 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals(response.getString("queryType"), "dsl");
}
+ @Test
+ public void testSearchFullTextOnDSLFailure() throws Exception {
+ String query = "*";
+ WebResource resource = service.path("api/atlas/discovery/search").queryParam("query", query);
+
+ ClientResponse clientResponse = resource.accept(Servlets.JSON_MEDIA_TYPE).type(Servlets.JSON_MEDIA_TYPE)
+ .method(HttpMethod.GET, ClientResponse.class);
+ assertEquals(clientResponse.getStatus(), Response.Status.OK.getStatusCode());
+
+ String responseAsString = clientResponse.getEntity(String.class);
+ Assert.assertNotNull(responseAsString);
+
+ JSONObject response = new JSONObject(responseAsString);
+ Assert.assertNotNull(response.get(AtlasClient.REQUEST_ID));
+
+ assertEquals(response.getString("query"), query);
+ assertEquals(response.getString("queryType"), "full-text");
+ }
+
@Test(dependsOnMethods = "testSearchDSLLimits")
public void testSearchUsingFullText() throws Exception {
JSONObject response = serviceClient.searchByFullText(tagName, 10, 0);