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 <[email protected]>