>From Michael Blow <[email protected]>:
Michael Blow has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17961 )
Change subject: [NO ISSUE][*DB] Return 404 (not 500) on unknown cluster api path
......................................................................
[NO ISSUE][*DB] Return 404 (not 500) on unknown cluster api path
Change-Id: I2d5a981cc8268a27b36331302997b90f39be7055
---
M
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
1 file changed, 18 insertions(+), 6 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/61/17961/1
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
index eaeb082..15cdabf 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
@@ -29,6 +29,7 @@
import org.apache.hyracks.api.config.IOption;
import org.apache.hyracks.api.config.Section;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.IFormattedException;
import org.apache.hyracks.control.common.config.ConfigUtils;
import org.apache.hyracks.control.common.controllers.ControllerConfig;
import org.apache.hyracks.http.api.IServletRequest;
@@ -36,7 +37,6 @@
import org.apache.hyracks.http.server.AbstractServlet;
import org.apache.hyracks.http.server.utils.HttpUtil;
import org.apache.hyracks.util.JSONUtil;
-import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -67,7 +67,6 @@
@Override
protected void get(IServletRequest request, IServletResponse response)
throws IOException {
HttpUtil.setContentType(response,
HttpUtil.ContentType.APPLICATION_JSON, request);
- PrintWriter responseWriter = response.writer();
try {
ObjectNode json;
response.setStatus(HttpResponseStatus.OK);
@@ -81,15 +80,19 @@
default:
throw new IllegalArgumentException();
}
+ PrintWriter responseWriter = response.writer();
JSONUtil.writeNode(responseWriter, json);
} catch (IllegalArgumentException e) { // NOSONAR - exception not
logged or rethrown
sendError(response, HttpResponseStatus.NOT_FOUND);
} catch (Exception e) {
- LOGGER.log(Level.INFO, "exception thrown for " + request, e);
- response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR);
- responseWriter.write(e.toString());
+ LOGGER.info("exception thrown for {}", request, e);
+ if (e instanceof IFormattedException) {
+ sendError(response, HttpResponseStatus.INTERNAL_SERVER_ERROR,
(IFormattedException) e);
+ } else {
+ sendError(response, HttpResponseStatus.INTERNAL_SERVER_ERROR,
e.toString());
+
+ }
}
- responseWriter.flush();
}
@Override
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17961
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: neo
Gerrit-Change-Id: I2d5a981cc8268a27b36331302997b90f39be7055
Gerrit-Change-Number: 17961
Gerrit-PatchSet: 1
Gerrit-Owner: Michael Blow <[email protected]>
Gerrit-MessageType: newchange