aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org
diff options
context:
space:
mode:
authorKunal Khatua <kkhatua@maprtech.com>2019-02-22 13:41:02 -0800
committerGautam Parai <gparai@apache.org>2019-02-22 23:33:35 -0800
commitc17c59cddcced703c9852038e957147c502d17aa (patch)
tree5b7685a5479394971afe8befd1744b79eb90705a /exec/java-exec/src/main/java/org
parent110c3578aa18f596278e251d700c8fa9ada8b0c4 (diff)
DRILL-7036: Improve UI for alert and error messages
closes #1644 This PR standardizes error and alert messages to a cleaner interface by leveraging Bootstraps UX elements for publishing the messages in a presentable format. Exceptions reported back to the browser and rendered in a neat tabular format (using Panels) All errors can be redirected to errorMessage.ftl which will render it in a neat format. Alerts are replaced with modals. Interactions (pages) affected by Alert modals 1. Missing Query submission 2. profile Query Rerun 3. invalid Profile Listing Fetch 4. invalid Option Value for update 5. Missing username/password submission The errorMessage.ftl has been moved to root dir, and unused `error.ftl` was removed
Diffstat (limited to 'exec/java-exec/src/main/java/org')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/LogsResources.java10
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryResources.java4
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileResources.java9
3 files changed, 17 insertions, 6 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/LogsResources.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/LogsResources.java
index a4d92f4d5..51cf994d9 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/LogsResources.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/LogsResources.java
@@ -56,6 +56,7 @@ import static org.apache.drill.exec.server.rest.auth.DrillUserPrincipal.ADMIN_RO
@Path("/")
@RolesAllowed(ADMIN_ROLE)
public class LogsResources {
+ private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(LogsResources.class);
@Inject DrillRestServer.UserAuthEnabled authEnabled;
@Inject SecurityContext sc;
@@ -96,8 +97,13 @@ public class LogsResources {
@Path("/log/{name}/content")
@Produces(MediaType.TEXT_HTML)
public Viewable getLog(@PathParam("name") String name) throws IOException {
- LogContent content = getLogJSON(name);
- return ViewableWithPermissions.create(authEnabled.get(), "/rest/logs/log.ftl", sc, content);
+ try {
+ LogContent content = getLogJSON(name);
+ return ViewableWithPermissions.create(authEnabled.get(), "/rest/logs/log.ftl", sc, content);
+ } catch (Exception | Error e) {
+ logger.error("Exception was thrown when fetching log {} :\n{}", name, e);
+ return ViewableWithPermissions.create(authEnabled.get(), "/rest/errorMessage.ftl", sc, e);
+ }
}
@GET
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryResources.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryResources.java
index e62d33d7a..d6d9a21f3 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryResources.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryResources.java
@@ -92,8 +92,8 @@ public class QueryResources {
final String rowsPerPageValuesAsStr = Joiner.on(",").join(rowsPerPageValues);
return ViewableWithPermissions.create(authEnabled.get(), "/rest/query/result.ftl", sc, new TabularResult(result, rowsPerPageValuesAsStr));
} catch (Exception | Error e) {
- logger.error("Query from Web UI Failed", e);
- return ViewableWithPermissions.create(authEnabled.get(), "/rest/query/errorMessage.ftl", sc, e);
+ logger.error("Query from Web UI Failed: {}", e);
+ return ViewableWithPermissions.create(authEnabled.get(), "/rest/errorMessage.ftl", sc, e);
}
}
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileResources.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileResources.java
index e88b57cb4..86e3ddeb4 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileResources.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileResources.java
@@ -376,8 +376,13 @@ public class ProfileResources {
@Path("/profiles/{queryid}")
@Produces(MediaType.TEXT_HTML)
public Viewable getProfile(@PathParam("queryid") String queryId){
- ProfileWrapper wrapper = new ProfileWrapper(getQueryProfile(queryId), work.getContext().getConfig());
- return ViewableWithPermissions.create(authEnabled.get(), "/rest/profile/profile.ftl", sc, wrapper);
+ try {
+ ProfileWrapper wrapper = new ProfileWrapper(getQueryProfile(queryId), work.getContext().getConfig());
+ return ViewableWithPermissions.create(authEnabled.get(), "/rest/profile/profile.ftl", sc, wrapper);
+ } catch (Exception | Error e) {
+ logger.error("Exception was thrown when fetching profile {} :\n{}", queryId, e);
+ return ViewableWithPermissions.create(authEnabled.get(), "/rest/errorMessage.ftl", sc, e);
+ }
}
@SuppressWarnings("resource")