>From Janhavi Tripurwar <[email protected]>: Janhavi Tripurwar has submitted this change. ( 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 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21036 Tested-by: Janhavi Tripurwar <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Michael Blow <[email protected]> Integration-Tests: Jenkins <[email protected]> --- 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(-) Approvals: Janhavi Tripurwar: Verified Jenkins: Verified; Verified Michael Blow: Looks good to me, approved 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: merged Gerrit-Project: asterixdb Gerrit-Branch: lumina Gerrit-Change-Id: I8c85a63f64aa8c5a3f4785408df3333e68fa4170 Gerrit-Change-Number: 21036 Gerrit-PatchSet: 3 Gerrit-Owner: Janhavi Tripurwar <[email protected]> Gerrit-Reviewer: Janhavi Tripurwar <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-CC: Anon. E. Moose #1000171
