-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67085/
-----------------------------------------------------------
(Updated May 16, 2018, 10:04 a.m.)
Review request for atlas, Apoorv Naik, Ashutosh Mestry, Madhan Neethiraj, and
Sarath Subramanian.
Changes
-------
This patch handles review comment from Madhan to use UriUtils.decode() for
decoding since encoding in ActiveFilter is done from same API class.
Tested encoding query in browser and also tested the IT api calls status code.
127.0.0.1 - - [16/May/2018:06:44:14 +0000] "GET
//localhost:31000/api/atlas/v2/search/dsl?offset=0&query=DB+where+name%3D%22Reporting%22&limit=10
HTTP/1.1" 200 374 "-" "Java/1.8.0_172"
127.0.0.1 - - [16/May/2018:06:44:14 +0000] "GET
//localhost:31000/api/atlas/v2/search/dsl?offset=0&query=DB+where+name%3D%22encode_db_name%22&limit=10
HTTP/1.1" 200 66 "-" "Java/1.8.0_172"
127.0.0.1 - - [16/May/2018:06:44:14 +0000] "GET
//localhost:31000/api/atlas/v2/search/dsl?offset=0&query=Table+where+name%3D%2522sales_fact%2522&limit=10
HTTP/1.1" 200 500 "-" "Java/1.8.0_172"
Bugs: ATLAS-2673
https://issues.apache.org/jira/browse/ATLAS-2673
Repository: atlas
Description
-------
This patch handles decoding of encoded query string for DSL search.
Use case:-
DSL query :
/api/atlas/v2/search/dsl?typeName=hive_table&query=name="weather2"
fired on PASSIVE server redirects to ACTIVE server as
/api/atlas/v2/search/dsl?limit=25&offset=0&query=name=%2522weather2%2522&typeName=hive_table
fails with
{
errorCode: "ATLAS-400-00-059",
errorMessage: "Invalid DSL query: `hive_table` name=%22weather2%22 | Reason:
DSL Semantic Error - weather2 type not found, DSL Semantic Error - weather2
type not found, DSL Semantic Error - 22 type not found, DSL Semantic Error - 22
type not found. Please refer to Atlas DSL grammar for more information"
}
Diffs (updated)
-----
webapp/src/main/java/org/apache/atlas/examples/QuickStartV2.java 0ca0ba748
webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java ad3785935
webapp/src/main/java/org/apache/atlas/web/util/Servlets.java ec340cfee
Diff: https://reviews.apache.org/r/67085/diff/2/
Changes: https://reviews.apache.org/r/67085/diff/1-2/
Testing
-------
Tested by accessing URL
/api/atlas/v2/search/dsl?typeName=Table&query=name="sales_fact" on passive
which redirects on active node now working properly.
And also on Active node.
Added few encode queryparam in ITs
Integration testcase working
https://builds.apache.org/job/PreCommit-ATLAS-Build-Test/388/console
2018-05-11 10:39:16,828
2018-05-11T10:39:16.566Z|admin|127.0.0.1|GET|http://localhost:31000/api/atlas/v2/search/dsl?offset=0&query=DB+where+name%3D%22Reporting%22&limit=10|200|262
2018-05-11 10:39:17,089
2018-05-11T10:39:16.832Z|admin|127.0.0.1|GET|http://localhost:31000/api/atlas/v2/search/dsl?offset=0&query=DB+where+name%3D%22encode_db_name%22&limit=10|200|257
2018-05-11 10:39:17,351
2018-05-11T10:39:17.093Z|admin|127.0.0.1|GET|http://localhost:31000/api/atlas/v2/search/dsl?offset=0&query=Table+where+name%3D%2522sales_fact%2522&limit=10|200|258
Thanks,
Nixon Rodrigues