[NO ISSUE][API] add retriable flag only when error/warning is retriable
Change-Id: I9d63e30cd25e80dc7b7f2cab5be23f1b0472c41d
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18346
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Peeyush Gupta <peeyush.gupta@couchbase.com>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java
index bbeb81c..6564e54 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/fields/AbstractCodedMessagePrinter.java
@@ -63,9 +63,14 @@
pw.print("{ \n\t");
ResultUtil.printField(pw, CodedMessageField.CODE.str(), codedMessage.getCode());
pw.print("\t");
- ResultUtil.printField(pw, CodedMessageField.MSG.str(), JSONUtil.escape(codedMessage.getMessage()));
- pw.print("\t");
- ResultUtil.printField(pw, CodedMessageField.RETRIABLE.str(), codedMessage.isRetriable(), false);
+ if (codedMessage.isRetriable()) {
+ ResultUtil.printField(pw, CodedMessageField.MSG.str(), JSONUtil.escape(codedMessage.getMessage()));
+ pw.print("\t");
+ ResultUtil.printField(pw, CodedMessageField.RETRIABLE.str(), codedMessage.isRetriable(), false);
+ } else {
+ ResultUtil.printField(pw, CodedMessageField.MSG.str(), JSONUtil.escape(codedMessage.getMessage()),
+ false);
+ }
pw.print("\t} \n\t");
boolean lastMsg = i == messages.size() - 1;
if (!lastMsg) {
@@ -81,7 +86,9 @@
ObjectNode error = array.addObject();
error.put(CodedMessageField.CODE.str(), codedMessage.getCode());
error.put(CodedMessageField.MSG.str(), codedMessage.getMessage());
- error.put(CodedMessageField.RETRIABLE.str(), codedMessage.isRetriable());
+ if (codedMessage.isRetriable()) {
+ error.put(CodedMessageField.RETRIABLE.str(), codedMessage.isRetriable());
+ }
});
return objectNode;
}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
index f823ff8..ba3c970 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/request-param-validation-400-BAD/request-param-validation-400-BAD.01.regexjson
@@ -1,6 +1,6 @@
{
"errors": [{
- "code": 1, "msg": "ASX0047: Invalid value for parameter 'format': foo", "retriable": false }
+ "code": 1, "msg": "ASX0047: Invalid value for parameter 'format': foo" }
],
"status": "fatal",
"metrics": {