This is an automated email from the ASF dual-hosted git repository.
peeyush pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push:
new 54ff6334fd [ASTERIXDB-3397][API]Add retriable flag to returned errors
54ff6334fd is described below
commit 54ff6334fdba882d82ac5748caf81705fa213e71
Author: Peeyush Gupta <[email protected]>
AuthorDate: Thu May 9 14:14:07 2024 -0700
[ASTERIXDB-3397][API]Add retriable flag to returned errors
- user model changes: no
- storage format changes: no
- interface changes: no
Change-Id: I65b31440b2a0570ab3d0533fde620a71476aa0b0
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18280
Integration-Tests: Jenkins <[email protected]>
Reviewed-by: Murtadha Hubail <[email protected]>
Tested-by: Peeyush Gupta <[email protected]>
---
.../main/java/org/apache/asterix/api/http/server/ResultUtil.java | 4 ++++
.../main/java/org/apache/asterix/app/result/ExecutionError.java | 5 +++++
.../main/java/org/apache/asterix/app/result/ExecutionWarning.java | 5 +++++
.../asterix/app/result/fields/AbstractCodedMessagePrinter.java | 8 ++++++--
.../request-param-validation-400-BAD.01.regexjson | 2 +-
.../main/java/org/apache/asterix/common/api/ICodedMessage.java | 2 ++
6 files changed, 23 insertions(+), 3 deletions(-)
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ResultUtil.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ResultUtil.java
index cf535d9d01..3b1b2e8bd0 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ResultUtil.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ResultUtil.java
@@ -110,6 +110,10 @@ public class ResultUtil {
printFieldInternal(pw, name, String.valueOf(value), comma);
}
+ public static void printField(PrintWriter pw, String name, boolean value,
boolean comma) {
+ printFieldInternal(pw, name, String.valueOf(value), comma);
+ }
+
protected static void printFieldInternal(PrintWriter pw, String name,
String value, boolean comma) {
pw.print("\t\"");
pw.print(name);
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionError.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionError.java
index 6556b61a8c..a25c5a259a 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionError.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionError.java
@@ -52,4 +52,9 @@ public class ExecutionError implements ICodedMessage {
public String getMessage() {
return message;
}
+
+ @Override
+ public boolean isRetriable() {
+ return false;
+ }
}
diff --git
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionWarning.java
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionWarning.java
index 5552bb82fb..66b8f0ef32 100644
---
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionWarning.java
+++
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ExecutionWarning.java
@@ -44,4 +44,9 @@ public class ExecutionWarning implements ICodedMessage {
public String getMessage() {
return message;
}
+
+ @Override
+ public boolean isRetriable() {
+ return false;
+ }
}
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 f1eb315fe6..bbeb81c6f3 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
@@ -33,7 +33,8 @@ public abstract class AbstractCodedMessagePrinter implements
IResponseFieldPrint
private enum CodedMessageField {
CODE("code"),
- MSG("msg");
+ MSG("msg"),
+ RETRIABLE("retriable");
private final String str;
@@ -62,7 +63,9 @@ public abstract class AbstractCodedMessagePrinter implements
IResponseFieldPrint
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()), false);
+ ResultUtil.printField(pw, CodedMessageField.MSG.str(),
JSONUtil.escape(codedMessage.getMessage()));
+ pw.print("\t");
+ ResultUtil.printField(pw, CodedMessageField.RETRIABLE.str(),
codedMessage.isRetriable(), false);
pw.print("\t} \n\t");
boolean lastMsg = i == messages.size() - 1;
if (!lastMsg) {
@@ -78,6 +81,7 @@ public abstract class AbstractCodedMessagePrinter implements
IResponseFieldPrint
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());
});
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 ba3c97068c..f823ff8f43 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" }
+ "code": 1, "msg": "ASX0047: Invalid value for
parameter 'format': foo", "retriable": false }
],
"status": "fatal",
"metrics": {
diff --git
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/ICodedMessage.java
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/ICodedMessage.java
index 06202c49ab..e2397aa308 100644
---
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/ICodedMessage.java
+++
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/ICodedMessage.java
@@ -33,4 +33,6 @@ public interface ICodedMessage {
* @return the message
*/
String getMessage();
+
+ boolean isRetriable();
}