[NO ISSUE][EXT]: Handle errors during processing GCS credentials
Ext-ref: MB-64269
Change-Id: If72aa31f5f4650495264b1ca763e61d365cc951c
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19074
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Tested-by: Hussain Towaileb <hussainht@gmail.com>
Integration-Tests: Hussain Towaileb <hussainht@gmail.com>
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
index b61d62d..c879ec6 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
@@ -1881,14 +1881,17 @@
try {
builder.setCredentials(GoogleCredentials.getApplicationDefault());
- } catch (IOException ex) {
+ } catch (Exception ex) {
throw CompilationException.create(EXTERNAL_SOURCE_ERROR, getMessageOrToString(ex));
}
} else if (jsonCredentials != null) {
try (InputStream credentialsStream = new ByteArrayInputStream(jsonCredentials.getBytes())) {
builder.setCredentials(GoogleCredentials.fromStream(credentialsStream));
} catch (IOException ex) {
- throw new CompilationException(EXTERNAL_SOURCE_ERROR, getMessageOrToString(ex));
+ throw CompilationException.create(EXTERNAL_SOURCE_ERROR, getMessageOrToString(ex));
+ } catch (Exception ex) {
+ throw new CompilationException(EXTERNAL_SOURCE_ERROR,
+ "Encountered an issue while processing the JSON credentials. Please ensure the provided credentials are valid.");
}
} else {
builder.setCredentials(NoCredentials.getInstance());