Description
In HA, the passive node redirects the request with wrong URL encoding. Instead of encoding only the values, the whole query is encoded as a single string.
url = "http://atlas.node.com:21000/api/atlas/entites?type=My type&name=My name"
wrong result after encoding:
http://atlas.node.com:21000/api/atlas/entites?type%3DMy+type%26name%3DMy+name
expected result after encoding:
http://atlas.node.com:21000/api/atlas/entites?type=My%20type&name=My%20name
in the code, instead of https://github.com/apache/atlas/blob/master/webapp/src/main/java/org/apache/atlas/web/filters/ActiveServerFilter.java#L132
queryString = URLEncoder.encode(queryString, "UTF-8");
we should do something like
import org.springframework.web.util.UriUtils queryString = UriUtils.encodeQuery(queryString, "UTF-8")