>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

Reply via email to