Xikui Wang has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1621

Change subject: ASTERIXDB-1859 Revise create feed exception.
......................................................................

ASTERIXDB-1859 Revise create feed exception.

1. Fixed unknown feed datatype exception.
2. Added Socket IP validation.

Change-Id: I4d04b3031a3457e4d04c2b921a4db3fd7f1cbed0
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/SocketServerInputStreamFactory.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java
4 files changed, 8 insertions(+), 7 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/21/1621/1

diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
index 28fd3d2..2f60cb9 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
@@ -174,6 +174,7 @@
     public static final int UTIL_LOCAL_FILE_SYSTEM_UTILS_PATH_NOT_FOUND = 3077;
     public static final int UTIL_HDFS_UTILS_CANNOT_OBTAIN_HDFS_SCHEDULER = 
3078;
     public static final int ACTIVE_MANAGER_SHUTDOWN = 3079;
+    public static final int FEED_METADATA_UTIL_UNEXPECTED_FEED_DATATYPE = 3080;
 
     private ErrorCode() {
     }
diff --git 
a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties 
b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
index 80a7981..628bc3e 100644
--- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
+++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
@@ -160,3 +160,4 @@
 3077 = %1$s: path not found
 3078 = Cannot obtain hdfs scheduler
 3079 = Cannot register runtime, active manager has been shutdown
+3080 = Unexpected feed datatype '%1$s'
\ No newline at end of file
diff --git 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/SocketServerInputStreamFactory.java
 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/SocketServerInputStreamFactory.java
index 6a581ef..001e836 100644
--- 
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/SocketServerInputStreamFactory.java
+++ 
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/SocketServerInputStreamFactory.java
@@ -60,9 +60,9 @@
                 mode = Mode.valueOf(modeValue.trim().toUpperCase());
             }
             String socketsValue = 
configuration.get(ExternalDataConstants.KEY_SOCKETS);
-            if (socketsValue == null) {
-                throw new IllegalArgumentException(
-                        "\'sockets\' parameter not specified as part of 
adapter configuration");
+            if (socketsValue == null
+                    || 
!socketsValue.matches("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:[0-9]{1,5}"))
 {
+                throw new IllegalArgumentException("\'sockets\' parameter is 
not properly configured.");
             }
             Map<InetAddress, Set<String>> ncMap;
             ncMap = RuntimeUtils.getNodeControllerMap();
diff --git 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java
 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java
index 3e22e6e..45e358f 100644
--- 
a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java
+++ 
b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/feeds/FeedMetadataUtil.java
@@ -296,13 +296,12 @@
         try {
             ctx = MetadataManager.INSTANCE.beginTransaction();
             Datatype t = MetadataManager.INSTANCE.getDatatype(ctx, 
dataverseName, datatypeName);
-            IAType type = t.getDatatype();
-            if (type.getTypeTag() != ATypeTag.RECORD) {
-                throw new IllegalStateException();
+            if (t == null || t.getDatatype().getTypeTag() != ATypeTag.RECORD) {
+                throw new 
MetadataException(ErrorCode.FEED_METADATA_UTIL_UNEXPECTED_FEED_DATATYPE, 
datatypeName);
             }
             outputType = (ARecordType) t.getDatatype();
             MetadataManager.INSTANCE.commitTransaction(ctx);
-        } catch (ACIDException | RemoteException | MetadataException e) {
+        } catch (ACIDException | RemoteException e) {
             if (ctx != null) {
                 try {
                     MetadataManager.INSTANCE.abortTransaction(ctx);

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1621
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4d04b3031a3457e4d04c2b921a4db3fd7f1cbed0
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xkk...@gmail.com>

Reply via email to