mirror of
https://github.com/apache/druid.git
synced 2025-02-25 20:48:05 +00:00
Merge pull request #908 from metamx/fix-smile-0.7
(port from 0.6.x) fix smile exception on error + content-type
This commit is contained in:
commit
46dfce6905
@ -126,6 +126,7 @@ public class QueryResource
|
|||||||
String queryId = null;
|
String queryId = null;
|
||||||
|
|
||||||
final boolean isSmile = APPLICATION_SMILE.equals(req.getContentType());
|
final boolean isSmile = APPLICATION_SMILE.equals(req.getContentType());
|
||||||
|
final String contentType = isSmile ? APPLICATION_SMILE : APPLICATION_JSON;
|
||||||
|
|
||||||
ObjectMapper objectMapper = isSmile ? smileMapper : jsonMapper;
|
ObjectMapper objectMapper = isSmile ? smileMapper : jsonMapper;
|
||||||
final ObjectWriter jsonWriter = req.getParameter("pretty") == null
|
final ObjectWriter jsonWriter = req.getParameter("pretty") == null
|
||||||
@ -209,7 +210,7 @@ public class QueryResource
|
|||||||
outputStream.close();
|
outputStream.close();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
isSmile ? APPLICATION_SMILE : APPLICATION_JSON
|
contentType
|
||||||
)
|
)
|
||||||
.header("X-Druid-Query-Id", queryId)
|
.header("X-Druid-Query-Id", queryId)
|
||||||
.header("X-Druid-Response-Context", jsonMapper.writeValueAsString(responseContext))
|
.header("X-Druid-Response-Context", jsonMapper.writeValueAsString(responseContext))
|
||||||
@ -249,10 +250,10 @@ public class QueryResource
|
|||||||
catch (Exception e2) {
|
catch (Exception e2) {
|
||||||
log.error(e2, "Unable to log query [%s]!", query);
|
log.error(e2, "Unable to log query [%s]!", query);
|
||||||
}
|
}
|
||||||
return Response.serverError().entity(
|
return Response.serverError().type(contentType).entity(
|
||||||
jsonWriter.writeValueAsString(
|
jsonWriter.writeValueAsBytes(
|
||||||
ImmutableMap.of(
|
ImmutableMap.of(
|
||||||
"error", e.getMessage()
|
"error", e.getMessage() == null ? "null exception" : e.getMessage()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
).build();
|
).build();
|
||||||
@ -285,8 +286,8 @@ public class QueryResource
|
|||||||
.addData("peer", req.getRemoteAddr())
|
.addData("peer", req.getRemoteAddr())
|
||||||
.emit();
|
.emit();
|
||||||
|
|
||||||
return Response.serverError().entity(
|
return Response.serverError().type(contentType).entity(
|
||||||
jsonWriter.writeValueAsString(
|
jsonWriter.writeValueAsBytes(
|
||||||
ImmutableMap.of(
|
ImmutableMap.of(
|
||||||
"error", e.getMessage() == null ? "null exception" : e.getMessage()
|
"error", e.getMessage() == null ? "null exception" : e.getMessage()
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user