Merge branch 'gerrit/neo' into 'gerrit/trinity'

Ext-ref: MB-64269
Change-Id: If13d823b4e4a0e0a3887554a231995c9166a31da
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/google/gcs/GCSUtils.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/google/gcs/GCSUtils.java
index 6183a88..a7f74a9 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/google/gcs/GCSUtils.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/google/gcs/GCSUtils.java
@@ -99,14 +99,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());