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>