Github user ppadma commented on a diff in the pull request:
https://github.com/apache/drill/pull/1051#discussion_r153268878
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileUtil.java
---
@@ -19,30 +19,35 @@
import org.apache.drill.exec.proto.UserBitShared.QueryResult.QueryState;
+import java.util.HashMap;
+import java.util.Map;
+
public class ProfileUtil {
- // Display names for QueryState enum in UserBitShared.proto
- private static final String[] queryStateDisplayNames = {
- "Starting", // STARTING = 0
- "Running", // RUNNING = 1
- "Succeeded", // COMPLETED = 2
- "Canceled", // CANCELED = 3
- "Failed", // FAILED = 4
- "CancellationRequested", // CANCELLATION_REQUESTED = 5
- "Enqueued" // ENQUEUED = 6
- };
+ private static final Map<QueryState, String> queryStateDisplayMap = new
HashMap<>(QueryState.values().length);
+
+ static {
+ queryStateDisplayMap.put(QueryState.PREPARING, "Preparing");
+ queryStateDisplayMap.put(QueryState.PLANNING, "Planning");
+ queryStateDisplayMap.put(QueryState.ENQUEUED, "Enqueued");
+ queryStateDisplayMap.put(QueryState.STARTING, "Starting");
+ queryStateDisplayMap.put(QueryState.RUNNING, "Running");
+ queryStateDisplayMap.put(QueryState.COMPLETED, "Succeeded");
+ queryStateDisplayMap.put(QueryState.FAILED, "Failed");
+ queryStateDisplayMap.put(QueryState.CANCELLATION_REQUESTED,
"Cancellation Requested");
+ queryStateDisplayMap.put(QueryState.CANCELED, "Canceled");
+ }
/**
- * Utility to return display name for query state
- * @param queryState
+ * Utility method to return display name for query state
+ * @param queryState query state
* @return display string for query state
*/
- public final static String getQueryStateDisplayName(QueryState
queryState) {
- int queryStateOrdinal = queryState.getNumber();
- if (queryStateOrdinal >= queryStateDisplayNames.length) {
- return queryState.name();
- } else {
- return queryStateDisplayNames[queryStateOrdinal];
+ public static String getQueryStateDisplayName(QueryState queryState) {
+ String displayName = queryStateDisplayMap.get(queryState);
+ if (displayName == null) {
--- End diff --
when is it possible for a query to have state that is not in the map ?
---