>From Janhavi Tripurwar <[email protected]>:
Janhavi Tripurwar has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21036?usp=email )
Change subject: [NO ISSUE]: Throw meaningful error instead of internal error
......................................................................
[NO ISSUE]: Throw meaningful error instead of internal error
Ext-ref: MB-70415
Change-Id: I8c85a63f64aa8c5a3f4785408df3333e68fa4170
---
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/provider/ExternalWriterProvider.java
2 files changed, 11 insertions(+), 7 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/36/21036/1
diff --git
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
index 318c58e..9460138 100644
---
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
+++
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
@@ -491,7 +491,7 @@
return plan;
}
- private String getSeparator(String adapter, boolean isFileStore) {
+ private String getSeparator(String adapter, boolean isFileStore) throws
CompilationException {
return isFileStore ?
String.valueOf(ExternalWriterProvider.getSeparator(adapter)) : "";
}
diff --git
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/provider/ExternalWriterProvider.java
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/provider/ExternalWriterProvider.java
index 763a7a1..8121f6a 100644
---
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/provider/ExternalWriterProvider.java
+++
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/provider/ExternalWriterProvider.java
@@ -84,12 +84,13 @@
}
private static IExternalFileWriterFactory
createWriterFactory(ICcApplicationContext appCtx, IWriteDataSink sink,
- String staticPath, SourceLocation pathExpressionLocation) {
+ String staticPath, SourceLocation pathExpressionLocation) throws
CompilationException {
String adapterName = sink.getAdapterName().toLowerCase();
IExternalFileWriterFactoryProvider creator =
CREATOR_MAP.get(adapterName);
if (creator == null) {
- throw new UnsupportedOperationException("Unsupported adapter " +
adapterName);
+ throw new
CompilationException(ErrorCode.UNSUPPORTED_WRITING_ADAPTER,
pathExpressionLocation, adapterName,
+ String.join(", ", CREATOR_MAP.keySet()));
}
return creator.create(createConfiguration(appCtx, sink, staticPath,
pathExpressionLocation));
@@ -164,7 +165,8 @@
// Check for supported formats
if
(!ExternalDataConstants.WRITER_SUPPORTED_FORMATS.contains(format.toLowerCase()))
{
- throw new UnsupportedOperationException("Unsupported format " +
format);
+ throw new
CompilationException(ErrorCode.UNSUPPORTED_WRITING_FORMAT, pathSourceLocation,
format,
+ String.join(", ",
ExternalDataConstants.WRITER_SUPPORTED_FORMATS));
}
String compression = getCompression(configuration);
@@ -247,7 +249,8 @@
pathResolverFactory);
default:
- throw new UnsupportedOperationException("Unsupported format "
+ format);
+ throw new
CompilationException(ErrorCode.UNSUPPORTED_WRITING_FORMAT, pathSourceLocation,
format,
+ String.join(", ",
ExternalDataConstants.WRITER_SUPPORTED_FORMATS));
}
}
@@ -279,11 +282,12 @@
return
configuration.getOrDefault(ExternalDataConstants.KEY_WRITER_COMPRESSION, "");
}
- public static char getSeparator(String adapterName) {
+ public static char getSeparator(String adapterName) throws
CompilationException {
IExternalFileWriterFactoryProvider creator =
CREATOR_MAP.get(adapterName.toLowerCase());
if (creator == null) {
- throw new UnsupportedOperationException("Unsupported adapter " +
adapterName);
+ throw new
CompilationException(ErrorCode.UNSUPPORTED_WRITING_ADAPTER, adapterName,
+ String.join(", ", CREATOR_MAP.keySet()));
}
return creator.getSeparator();
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21036?usp=email
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I8c85a63f64aa8c5a3f4785408df3333e68fa4170
Gerrit-Change-Number: 21036
Gerrit-PatchSet: 1
Gerrit-Owner: Janhavi Tripurwar <[email protected]>