You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by bu...@apache.org on 2017/01/08 04:13:46 UTC
[3/3] asterixdb git commit: Runtime ErrorCode fix in external data
Runtime ErrorCode fix in external data
1. Refactored most of the exceptions in external-data package to use
ErrorCode.
2. This change only covers RuntimeDataException/HyracksDataExcetion.
3. Refactor errorcode names
Change-Id: Ida810a56bf4aef1394879f088a6a5e8f82c60b74
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1374
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
BAD: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <bu...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/024fafe2
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/024fafe2
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/024fafe2
Branch: refs/heads/master
Commit: 024fafe2ef3f3fc27c939101174950208168f635
Parents: 90cdbac
Author: Xikui Wang <xk...@gmail.com>
Authored: Sat Jan 7 10:59:36 2017 -0800
Committer: Yingyi Bu <bu...@gmail.com>
Committed: Sat Jan 7 20:13:10 2017 -0800
----------------------------------------------------------------------
.../rules/CheckInsertUpsertReturningRule.java | 2 +-
.../app/cc/CompilerExtensionManager.java | 6 +-
.../asterix/app/nc/NCExtensionManager.java | 2 +-
.../src/test/resources/runtimets/testsuite.xml | 2 +-
.../resources/runtimets/testsuite_sqlpp.xml | 4 +-
.../common/exceptions/AsterixException.java | 12 ++
.../asterix/common/exceptions/ErrorCode.java | 129 +++++++++++++----
.../asterix/common/library/ILibraryManager.java | 4 +-
.../main/resources/asx_errormsg/en.properties | 98 +++++++++++--
.../asterix/external/api/IFunctionHelper.java | 2 +-
.../external/api/ILookupRecordReader.java | 2 +-
.../asterix/external/api/IRecordDataParser.java | 4 +-
.../external/api/IRecordWithMetadataParser.java | 6 +-
.../external/api/IRecordWithPKDataParser.java | 5 +-
.../asterix/external/api/IStreamDataParser.java | 4 +-
.../dataflow/ChangeFeedDataFlowController.java | 3 +-
.../ChangeFeedWithMetaDataFlowController.java | 3 +-
.../dataflow/CounterTimerTupleForwarder.java | 4 +-
.../FeedWithMetaDataFlowController.java | 4 +-
.../dataflow/FrameFullTupleForwarder.java | 4 +-
.../dataflow/RateControlledTupleForwarder.java | 6 +-
.../api/IActiveLifecycleEventSubscriber.java | 4 +-
.../feed/dataflow/FeedExceptionHandler.java | 3 +-
.../feed/dataflow/FrameDistributor.java | 8 +-
.../ActiveLifecycleEventSubscriber.java | 12 +-
.../feed/management/FeedEventsListener.java | 28 ++--
.../feed/policy/FeedPolicyEnforcer.java | 5 +-
.../indexing/ExternalFileIndexAccessor.java | 5 +-
.../indexing/FileIndexTupleTranslator.java | 6 +-
.../external/input/HDFSDataSourceFactory.java | 2 +-
.../external/input/record/CharArrayRecord.java | 6 +-
.../input/record/RecordWithMetadataAndPK.java | 10 +-
.../external/input/record/RecordWithPK.java | 3 +-
.../converter/DCPMessageToRecordConverter.java | 7 +-
.../input/stream/SocketClientInputStream.java | 2 +-
.../external/library/ExternalFunction.java | 8 +-
.../library/ExternalFunctionProvider.java | 8 +-
.../library/ExternalLibraryManager.java | 7 +-
.../external/library/JavaFunctionHelper.java | 13 +-
.../library/RuntimeExternalFunctionUtil.java | 14 +-
.../external/library/java/JObjectAccessors.java | 6 +-
.../external/library/java/JObjectUtil.java | 4 +-
.../asterix/external/library/java/JObjects.java | 17 +--
.../ExternalFilesIndexOperatorDescriptor.java | 5 +-
...ExternalRTreeSearchOperatorNodePushable.java | 2 +-
.../operators/FeedIntakeOperatorDescriptor.java | 11 +-
.../FeedIntakeOperatorNodePushable.java | 5 +-
.../FeedMessageOperatorNodePushable.java | 10 +-
.../operators/FeedMetaOperatorDescriptor.java | 5 +-
.../asterix/external/parser/ADMDataParser.java | 138 +++++++++++--------
.../external/parser/DelimitedDataParser.java | 94 ++++++++-----
.../external/parser/HiveRecordParser.java | 129 ++++++++---------
.../asterix/external/parser/RSSParser.java | 3 +-
.../parser/RecordWithMetadataParser.java | 2 +-
.../external/parser/RecordWithPKDataParser.java | 12 +-
.../asterix/external/parser/TweetParser.java | 6 +-
.../factory/DelimitedDataParserFactory.java | 15 +-
.../parser/factory/HiveDataParserFactory.java | 1 +
.../RecordWithMetadataParserFactory.java | 10 +-
.../provider/DataflowControllerProvider.java | 6 +-
.../provider/DatasourceFactoryProvider.java | 24 +++-
.../provider/StreamRecordReaderProvider.java | 4 +-
.../asterix/external/util/DataflowUtils.java | 8 +-
.../external/util/ExternalDataUtils.java | 7 +-
.../external/util/FileSystemWatcher.java | 5 +-
.../apache/asterix/external/util/HDFSUtils.java | 11 +-
.../external/util/LocalFileSystemUtils.java | 6 +-
.../asterix/external/util/NodeResolver.java | 10 +-
.../external/library/AddHashTagsFunction.java | 2 +-
.../library/AddHashTagsInPlaceFunction.java | 2 +-
.../external/library/AllTypesFunction.java | 2 +-
.../asterix/external/library/ClassAdParser.java | 2 +-
.../external/library/ParseTweetFunction.java | 3 +-
.../external/parser/TestRecordWithPKParser.java | 6 +-
.../lang/common/util/LangRecordParseUtil.java | 10 +-
.../exceptions/IncompatibleTypeException.java | 4 +-
.../exceptions/InvalidExpressionException.java | 4 +-
.../om/exceptions/TypeMismatchException.java | 4 +-
.../UnsupportedItemTypeException.java | 4 +-
.../om/exceptions/UnsupportedTypeException.java | 4 +-
.../om/pointables/cast/ARecordCaster.java | 2 +-
.../impl/RecordMergeTypeComputer.java | 4 +-
.../typecomputer/impl/SwitchCaseComputer.java | 2 +-
.../om/types/hierachy/ATypeHierarchy.java | 12 +-
.../functions/InjectFailureDescriptor.java | 2 +-
.../functions/StringRepeatDescriptor.java | 2 +-
.../functions/Substring2Descriptor.java | 2 +-
.../functions/SubstringDescriptor.java | 2 +-
.../records/RecordAddFieldsDescriptor.java | 2 +-
.../records/RecordMergeDescriptor.java | 2 +-
.../exceptions/IncompatibleTypeException.java | 4 +-
.../exceptions/InvalidDataFormatException.java | 6 +-
.../runtime/exceptions/OverflowException.java | 4 +-
.../exceptions/TypeMismatchException.java | 4 +-
.../runtime/exceptions/UnderflowException.java | 4 +-
.../UnsupportedItemTypeException.java | 4 +-
.../exceptions/UnsupportedTypeException.java | 4 +-
.../std/SubsetCollectionDescriptor.java | 2 +-
98 files changed, 722 insertions(+), 402 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/CheckInsertUpsertReturningRule.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/CheckInsertUpsertReturningRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/CheckInsertUpsertReturningRule.java
index d181dd3..7c01ebd 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/CheckInsertUpsertReturningRule.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/CheckInsertUpsertReturningRule.java
@@ -43,7 +43,7 @@ public class CheckInsertUpsertReturningRule implements IAlgebraicRewriteRule {
return false;
}
if (InsertUpsertCheckUtil.check(opRef.getValue())) {
- throw new CompilationException(ErrorCode.ERROR_COMPILATION_INVALID_RETURNING_EXPRESSION);
+ throw new CompilationException(ErrorCode.COMPILATION_INVALID_RETURNING_EXPRESSION);
}
checked = true;
return false;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CompilerExtensionManager.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CompilerExtensionManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CompilerExtensionManager.java
index c994abd..95ce100 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CompilerExtensionManager.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CompilerExtensionManager.java
@@ -72,7 +72,7 @@ public class CompilerExtensionManager implements IAlgebraExtensionManager {
IExtension extension = (IExtension) Class.forName(extensionConf.getClassName()).newInstance();
extension.configure(extensionConf.getArgs());
if (extensions.containsKey(extension.getId())) {
- throw new RuntimeDataException(ErrorCode.ERROR_EXTENSION_ID_CONFLICT, extension.getId());
+ throw new RuntimeDataException(ErrorCode.EXTENSION_ID_CONFLICT, extension.getId());
}
extensions.put(extension.getId(), extension);
switch (extension.getExtensionKind()) {
@@ -97,7 +97,7 @@ public class CompilerExtensionManager implements IAlgebraExtensionManager {
private Pair<ExtensionId, ILangCompilationProvider> extendLangCompilationProvider(Language lang,
Pair<ExtensionId, ILangCompilationProvider> cp, ILangExtension le) throws HyracksDataException {
if (cp != null && le.getLangCompilationProvider(lang) != null) {
- throw new RuntimeDataException(ErrorCode.ERROR_EXTENSION_COMPONENT_CONFLICT, le.getId(), cp.first,
+ throw new RuntimeDataException(ErrorCode.EXTENSION_COMPONENT_CONFLICT, le.getId(), cp.first,
lang.toString());
}
return (le.getLangCompilationProvider(lang) != null)
@@ -107,7 +107,7 @@ public class CompilerExtensionManager implements IAlgebraExtensionManager {
private IStatementExecutorExtension extendStatementExecutor(IStatementExecutorExtension qte,
IStatementExecutorExtension extension) throws HyracksDataException {
if (qte != null) {
- throw new RuntimeDataException(ErrorCode.ERROR_EXTENSION_COMPONENT_CONFLICT, qte.getId(), extension.getId(),
+ throw new RuntimeDataException(ErrorCode.EXTENSION_COMPONENT_CONFLICT, qte.getId(), extension.getId(),
IStatementExecutorFactory.class.getSimpleName());
}
return extension;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
index fcf559f..9e32b7e 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
@@ -76,7 +76,7 @@ public class NCExtensionManager {
private MetadataTupleTranslatorProvider extendTupleTranslator(MetadataTupleTranslatorProvider ttp,
IMetadataExtension tupleTranslatorExtension, IMetadataExtension mde) throws HyracksDataException {
if (ttp != null) {
- throw new RuntimeDataException(ErrorCode.ERROR_EXTENSION_COMPONENT_CONFLICT,
+ throw new RuntimeDataException(ErrorCode.EXTENSION_COMPONENT_CONFLICT,
tupleTranslatorExtension.getId(),
mde.getId(), IMetadataExtension.class.getSimpleName());
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
index 65ec9d9..dfb6303 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -6722,7 +6722,7 @@
<test-case FilePath="load">
<compilation-unit name="file-not-found">
<output-dir compare="Text">none</output-dir>
- <expected-error>org.apache.hyracks.api.exceptions.HyracksDataException: bla: path not found</expected-error>
+ <expected-error>org.apache.hyracks.api.exceptions.HyracksDataException: ASX3077: bla: path not found</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="user-defined-functions">
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
index c8785fe..0aaf8c3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
@@ -1724,13 +1724,13 @@
<test-case FilePath="dml">
<compilation-unit name="load-with-autogenerated-pk_adm_02">
<output-dir compare="Text">load-with-autogenerated-pk_adm_02</output-dir>
- <expected-error>Parse error at (0, 5): This record is closed, you can not add extra fields! new field name: id</expected-error>
+ <expected-error>Parse error at (0, 5): ASX3058: This record is closed, you can not add extra fields! new field name: id</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="dml">
<compilation-unit name="load-with-autogenerated-pk_adm_03">
<output-dir compare="Text">load-with-autogenerated-pk_adm_03</output-dir>
- <expected-error>Parse error at (0, 5): This record is closed, you can not add extra fields! new field name: id</expected-error>
+ <expected-error>Parse error at (0, 5): ASX3058: This record is closed, you can not add extra fields! new field name: id</expected-error>
</compilation-unit>
</test-case>
<test-case FilePath="dml">
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/AsterixException.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/AsterixException.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/AsterixException.java
index 53bb969..7a73705 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/AsterixException.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/AsterixException.java
@@ -20,6 +20,8 @@ package org.apache.asterix.common.exceptions;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
+import java.io.Serializable;
+
public class AsterixException extends AlgebricksException {
private static final long serialVersionUID = 1L;
@@ -27,10 +29,20 @@ public class AsterixException extends AlgebricksException {
super(message);
}
+ public AsterixException(int errorCode, Serializable... params) {
+ super(ErrorCode.ASTERIX, errorCode, ErrorCode.getErrorMessage(errorCode), params);
+
+ }
+
public AsterixException(Throwable cause) {
super(cause);
}
+ public AsterixException(int errorCode, Throwable cause, Serializable... params) {
+ super(ErrorCode.ASTERIX, errorCode, ErrorCode.getErrorMessage(errorCode), params);
+ addSuppressed(cause);
+ }
+
public AsterixException(String message, Throwable cause) {
super(message, cause);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
----------------------------------------------------------------------
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 2e7c69b..1289787 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
@@ -35,34 +35,115 @@ public class ErrorCode {
public static final String ASTERIX = "ASX";
// Extension errors
- public static final int ERROR_EXTENSION_ID_CONFLICT = 4001;
- public static final int ERROR_EXTENSION_COMPONENT_CONFLICT = 4002;
+ public static final int EXTENSION_ID_CONFLICT = 4001;
+ public static final int EXTENSION_COMPONENT_CONFLICT = 4002;
// Runtime errors
- public static final int ERROR_CASTING_FIELD = 1;
- public static final int ERROR_TYPE_MISMATCH = 2;
- public static final int ERROR_TYPE_INCOMPATIBLE = 3;
- public static final int ERROR_TYPE_UNSUPPORTED = 4;
- public static final int ERROR_TYPE_ITEM = 5;
- public static final int ERROR_INVALID_FORMAT = 6;
- public static final int ERROR_OVERFLOW = 7;
- public static final int ERROR_UNDERFLOW = 8;
- public static final int ERROR_INJECTED_FAILURE = 9;
- public static final int ERROR_NEGATIVE_VALUE = 10;
- public static final int ERROR_OUT_OF_BOUND = 11;
- public static final int ERROR_COERCION = 12;
- public static final int ERROR_DUPLICATE_FIELD_NAME = 13;
+ public static final int CASTING_FIELD = 1;
+ public static final int TYPE_MISMATCH = 2;
+ public static final int TYPE_INCOMPATIBLE = 3;
+ public static final int TYPE_UNSUPPORTED = 4;
+ public static final int TYPE_ITEM = 5;
+ public static final int INVALID_FORMAT = 6;
+ public static final int OVERFLOW = 7;
+ public static final int UNDERFLOW = 8;
+ public static final int INJECTED_FAILURE = 9;
+ public static final int NEGATIVE_VALUE = 10;
+ public static final int OUT_OF_BOUND = 11;
+ public static final int COERCION = 12;
+ public static final int DUPLICATE_FIELD_NAME = 13;
// Compilation errors
- public static final int ERROR_PARSE_ERROR = 1001;
- public static final int ERROR_COMPILATION_TYPE_MISMATCH = 1002;
- public static final int ERROR_COMPILATION_TYPE_INCOMPATIBLE = 1003;
- public static final int ERROR_COMPILATION_TYPE_UNSUPPORTED = 1004;
- public static final int ERROR_COMPILATION_TYPE_ITEM = 1005;
- public static final int ERROR_COMPILATION_DUPLICATE_FIELD_NAME = 1006;
- public static final int ERROR_COMPILATION_INVALID_EXPRESSION = 1007;
- public static final int ERROR_COMPILATION_INVALID_PARAMETER_NUMBER = 1008;
- public static final int ERROR_COMPILATION_INVALID_RETURNING_EXPRESSION = 1009;
+ public static final int PARSE_ERROR = 1001;
+ public static final int COMPILATION_TYPE_MISMATCH = 1002;
+ public static final int COMPILATION_TYPE_INCOMPATIBLE = 1003;
+ public static final int COMPILATION_TYPE_UNSUPPORTED = 1004;
+ public static final int COMPILATION_TYPE_ITEM = 1005;
+ public static final int COMPILATION_DUPLICATE_FIELD_NAME = 1006;
+ public static final int COMPILATION_INVALID_EXPRESSION = 1007;
+ public static final int COMPILATION_INVALID_PARAMETER_NUMBER = 1008;
+ public static final int COMPILATION_INVALID_RETURNING_EXPRESSION = 1009;
+
+ // Feed errors
+ public static final int DATAFLOW_ILLEGAL_STATE = 3001;
+ public static final int UTIL_DATAFLOW_UTILS_TUPLE_TOO_LARGE = 3002;
+ public static final int UTIL_DATAFLOW_UTILS_UNKNOWN_FORWARD_POLICY = 3003;
+ public static final int OPERATORS_FEED_INTAKE_OPERATOR_DESCRIPTOR_CLASSLOADER_NOT_CONFIGURED = 3004;
+ public static final int PARSER_DELIMITED_NONOPTIONAL_NULL = 3005;
+ public static final int PARSER_DELIMITED_ILLEGAL_FIELD = 3006;
+ public static final int FEED_MANAGEMENT_ACTIVE_LIFE_CYCLE_EVENT_SUBSCRIBER_ACTIVE_JOB_FAILURE = 3007;
+ public static final int OPERATORS_FEED_INTAKE_OPERATOR_NODE_PUSHABLE_FAIL_AT_INGESTION = 3008;
+ public static final int OPERATORS_FEED_MSG_OPERATOR_NODE_PUSHABLE_INVALID_SUBSCRIBABLE_RUNTIME = 3009;
+ public static final int PARSER_HIVE_NON_PRIMITIVE_LIST_NOT_SUPPORT = 3010;
+ public static final int PARSER_HIVE_FIELD_TYPE = 3011;
+ public static final int PARSER_HIVE_GET_COLUMNS = 3012;
+ public static final int PARSER_HIVE_NO_CLOSED_COLUMNS = 3013;
+ public static final int PARSER_HIVE_NOT_SUPPORT_NON_OP_UNION = 3014;
+ public static final int PARSER_HIVE_MISSING_FIELD_TYPE_INFO = 3015;
+ public static final int PARSER_HIVE_NULL_FIELD = 3016;
+ public static final int PARSER_HIVE_NULL_VALUE_IN_LIST = 3017;
+ public static final int INPUT_RECORD_RECORD_WITH_METADATA_AND_PK_NULL_IN_NON_OPTIONAL = 3018;
+ public static final int INPUT_RECORD_RECORD_WITH_METADATA_AND_PK_CANNT_GET_PKEY = 3019;
+ public static final int FEED_MANAGEMENT_FEED_EVENT_LISTENER_FEED_JOINT_REGISTERED = 3020;
+ public static final int FEED_MANAGEMENT_FEED_EVENT_REGISTER_INTAKE_JOB_FAIL = 3021;
+ public static final int PROVIDER_DATAFLOW_CONTROLLER_UNKNOWN_DATA_SOURCE = 3022;
+ public static final int PROVIDER_DATASOURCE_FACTORY_UNKNOWN_INPUT_STREAM_FACTORY = 3023;
+ public static final int UTIL_EXTERNAL_DATA_UTILS_FAIL_CREATE_STREAM_FACTORY = 3024;
+ public static final int UNKNOWN_RECORD_READER_FACTORY = 3025;
+ public static final int PROVIDER_STREAM_RECORD_READER_UNKNOWN_FORMAT = 3026;
+ public static final int UNKNOWN_RECORD_FORMAT_FOR_META_PARSER = 3027;
+ public static final int LIBRARY_JAVA_JOBJECTS_FIELD_ALREADY_DEFINED = 3028;
+ public static final int LIBRARY_JAVA_JOBJECTS_UNKNOWN_FIELD = 3029;
+ public static final int NODE_RESOLVER_COULDNT_RESOLVE_ADDRESS = 3030;
+ public static final int NODE_RESOLVER_NO_NODE_CONTROLLERS = 3031;
+ public static final int NODE_RESOLVER_UNABLE_RESOLVE_HOST = 3032;
+ public static final int INPUT_RECORD_CONVERTER_DCP_MSG_TO_RECORD_CONVERTER_UNKNOWN_DCP_REQUEST = 3033;
+ public static final int FEED_DATAFLOW_FRAME_DISTR_REGISTER_FAILED_DATA_PROVIDER = 3034;
+ public static final int FEED_MANAGEMENT_FEED_EVENTS_LISTENER_ALREADY_HAVE_INTAKE_JOB = 3035;
+ public static final int FEED_MANAGEMENT_FEED_EVENTS_LISTENER_INTAKE_JOB_REGISTERED = 3036;
+ public static final int FEED_MANAGEMENT_FEED_EVENTS_LISTENER_FEED_JOB_REGISTERED = 3037;
+ public static final int INPUT_RECORD_READER_CHAR_ARRAY_RECORD_TOO_LARGE = 3038;
+ public static final int LIBRARY_JOBJECT_ACCESSOR_CANNOT_PARSE_TYPE = 3039;
+ public static final int LIBRARY_JOBJECT_UTIL_ILLEGAL_ARGU_TYPE = 3040;
+ public static final int LIBRARY_EXTERNAL_FUNCTION_UNABLE_TO_LOAD_CLASS = 3041;
+ public static final int LIBRARY_EXTERNAL_FUNCTION_UNSUPPORTED_KIND = 3042;
+ public static final int LIBRARY_EXTERNAL_FUNCTION_UNKNOWN_KIND = 3043;
+ public static final int LIBRARY_EXTERNAL_LIBRARY_CLASS_REGISTERED = 3044;
+ public static final int LIBRARY_JAVA_FUNCTION_HELPER_CANNOT_HANDLE_ARGU_TYPE = 3045;
+ public static final int LIBRARY_JAVA_FUNCTION_HELPER_OBJ_TYPE_NOT_SUPPORTED = 3046;
+ public static final int LIBRARY_EXTERNAL_FUNCTION_UNSUPPORTED_NAME = 3047;
+ public static final int OPERATORS_FEED_META_OPERATOR_DESCRIPTOR_INVALID_RUNTIME = 3048;
+ public static final int PARSER_FACTORY_DELIMITED_DATA_PARSER_FACTORY_NOT_VALID_DELIMITER = 3049;
+ public static final int PARSER_FACTORY_DELIMITED_DATA_PARSER_FACTORY_NOT_VALID_QUOTE = 3050;
+ public static final int PARSER_FACTORY_DELIMITED_DATA_PARSER_FACTORY_QUOTE_DELIMITER_MISMATCH = 3051;
+ public static final int INDEXING_EXTERNAL_FILE_INDEX_ACCESSOR_UNABLE_TO_FIND_FILE_INDEX = 3052;
+ public static final int PARSER_ADM_DATA_PARSER_FIELD_NOT_NULL = 3053;
+ public static final int PARSER_ADM_DATA_PARSER_TYPE_MISMATCH = 3054;
+ public static final int PARSER_ADM_DATA_PARSER_UNEXPECTED_TOKEN_KIND = 3055;
+ public static final int PARSER_ADM_DATA_PARSER_ILLEGAL_ESCAPE = 3056;
+ public static final int PARSER_ADM_DATA_PARSER_RECORD_END_UNEXPECTED = 3057;
+ public static final int PARSER_ADM_DATA_PARSER_EXTRA_FIELD_IN_CLOSED_RECORD = 3058;
+ public static final int PARSER_ADM_DATA_PARSER_UNEXPECTED_TOKEN_WHEN_EXPECT_COMMA = 3059;
+ public static final int PARSER_ADM_DATA_PARSER_FOUND_COMMA_WHEN = 3060;
+ public static final int PARSER_ADM_DATA_PARSER_UNSUPPORTED_INTERVAL_TYPE = 3061;
+ public static final int PARSER_ADM_DATA_PARSER_INTERVAL_NOT_CLOSED = 3062;
+ public static final int PARSER_ADM_DATA_PARSER_INTERVAL_BEGIN_END_POINT_MISMATCH = 3063;
+ public static final int PARSER_ADM_DATA_PARSER_INTERVAL_MISSING_COMMA = 3064;
+ public static final int PARSER_ADM_DATA_PARSER_INTERVAL_INVALID_DATETIME = 3065;
+ public static final int PARSER_ADM_DATA_PARSER_INTERVAL_UNSUPPORTED_TYPE = 3066;
+ public static final int PARSER_ADM_DATA_PARSER_INTERVAL_INTERVAL_ARGUMENT_ERROR = 3067;
+ public static final int PARSER_ADM_DATA_PARSER_LIST_FOUND_END_COLLECTION = 3068;
+ public static final int PARSER_ADM_DATA_PARSER_LIST_FOUND_COMMA_BEFORE_LIST = 3069;
+ public static final int PARSER_ADM_DATA_PARSER_LIST_FOUND_COMMA_EXPECTING_ITEM = 3070;
+ public static final int PARSER_ADM_DATA_PARSER_LIST_FOUND_END_RECOD = 3071;
+ public static final int PARSER_ADM_DATA_PARSER_CAST_ERROR = 3072;
+ public static final int PARSER_ADM_DATA_PARSER_CONSTRUCTOR_MISSING_DESERIALIZER = 3073;
+ public static final int PARSER_ADM_DATA_PARSER_WRONG_INSTANCE = 3074;
+ public static final int PARSER_TWEET_PARSER_CLOSED_FIELD_NULL = 3075;
+ public static final int UTIL_FILE_SYSTEM_WATCHER_NO_FILES_FOUND = 3076;
+ 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;
+
// Loads the map that maps error codes to error message templates.
private static Map<Integer, String> errorMessageMap = null;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java
index 5dca73e..3aef2c5 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java
@@ -22,6 +22,7 @@ package org.apache.asterix.common.library;
import java.util.List;
import org.apache.hyracks.algebricks.common.utils.Pair;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public interface ILibraryManager {
@@ -33,7 +34,8 @@ public interface ILibraryManager {
* @param libraryName
* @param classLoader
*/
- public void registerLibraryClassLoader(String dataverseName, String libraryName, ClassLoader classLoader);
+ public void registerLibraryClassLoader(String dataverseName, String libraryName, ClassLoader classLoader)
+ throws HyracksDataException;
/**
* @return all registered libraries.
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
----------------------------------------------------------------------
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 85fa1d1..c072f16 100644
--- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
+++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
@@ -33,18 +33,98 @@
3,1003 = Type incompatibility: function %1$s gets incompatible input values: %2$s and %3$s
4,1004 = Unsupported type: %1$s cannot process input type %2$s
5,1005 = Invalid item type: function %1$s cannot process item type %2$s in an input array (or multiset)
-13,1006=Duplicate field name \"%1$s\"
-1009=A returning expression cannot contain dataset access
+13,1006 = Duplicate field name \"%1$s\"
+1009 = A returning expression cannot contain dataset access
# Data errors
6 = Invalid format for %1$s in %2$s
7 = Overflow happend in %1$s
-8=Underflow happend in %1$s
-9=Injected failure in %1$s
-10=Invalid value: function %1$s expects its %2$s input parameter to be a non-negative value, but gets %3$s
-11=Index out of bound in %1$s: %2$s
-12=Invalid implicit scalar to collection coercion in %1$s
+8 = Underflow happend in %1$s
+9 = Injected failure in %1$s
+10 = Invalid value: function %1$s expects its %2$s input parameter to be a non-negative value, but gets %3$s
+11 = Index out of bound in %1$s: %2$s
+12 = Invalid implicit scalar to collection coercion in %1$s
# Compile-time check errors
-1007=Invalid expression: function %1$s expects its %2$s input parameter to be a %3$s expression, but the actual expression is %4$s
-1008=Invalid parameter number: function %1$s cannot take %2$s parameters
+1007 = Invalid expression: function %1$s expects its %2$s input parameter to be a %3$s expression, but the actual expression is %4$s
+1008 = Invalid parameter number: function %1$s cannot take %2$s parameters
+
+# Feed Errors
+3001 = Illegal state.
+3002 = Tuple is too large for a frame
+3003 = Unknown tuple forward policy
+3004 = Unable to create adapter as class loader not configured for library %1$s in dataverse %2$s
+3005 = At record: %1$s - Field %2$s is not privatean optional type so it cannot accept null value.
+3006 = Illegal field %1$s in closed type %2$s
+3007 = Failure in active job.
+3008 = Unable to ingest data
+3009 = Invalid subscribable runtime type %1$s
+3010 = Doesn't support Hive data with list of non-primitive types
+3011 = Can't get hive type for field of type %1$s
+3012 = Failed to get columns of record
+3013 = Can't deserialize Hive records with no closed columns
+3014 = Non-optional UNION type is not supported.
+3015 = Failed to get the type information for field %1$s.
+3016 = can't parse null field
+3017 = can't parse hive list with null values
+3018 = Field %1$s of meta record is not an optional type so it cannot accept null value.
+3019 = Can't get PK from record part
+3020 = Feed joint %1$s already registered
+3021 = Could not register feed intake job [%1$s] for feed %2$s
+3022 = Unknown data source type: %1$s
+3023 = Unknown input stream factory: %1$s
+3024 = Failed to create stream factory
+3025 = Unknown record reader factory: %1$s
+3026 = Unknown format: %1$s
+3027 = Unknown record format for a record with meta parser. Did you specify the parameter %1$s
+3028 = Field already defined in %1$s part
+3029 = Unknown field: %1$s
+3030 = Address passed: '%1$s' couldn't be resolved to an ip address and is not an NC id. Existing NCs are %2$s
+3031 = No node controllers found at the address: %1$s
+3032 = Unable to resolve hostname '%1$s' to an IP address
+3033 = Unknown DCP request: %1$s
+3034 = Attempt to register to a failed feed data provider
+3035 = Feed already has an intake job
+3036 = Feed job already registered in intake jobs
+3037 = Feed job already registered in all jobs
+3038 = Record is too large!. Maximum record size is %1$s
+3039 = Cannot parse list item of type %1$s
+3040 = Argument type: %1$s
+3041 = Unable to load/instantiate class %1$s
+3042 = UDF of kind %1$s not supported.
+3043 = Unknown function kind %1$s
+3044 = Library class loader already registered!
+3045 = Cannot handle a function argument of type %1$s
+3046 = Object of type %1$s not supported.
+3047 = External %1$s not supported
+3048 = Invalid feed runtime: %1$s
+3049 = '%1$s' is not a valid delimiter. The length of a delimiter should be 1.
+3050 = '%1$s' is not a valid quote. The length of a quote should be 1.
+3051 = Quote '%1$s' cannot be used with the delimiter '%2$s'.
+3052 = Was not able to find a file in the files index
+3053 = Field %1$s can not be null
+3054 = Mismatch Type, expecting a value of type %1$s
+3055 = Unexpected ADM token kind: %1$s.
+3056 = Illegal escape '\%1$s'
+3057 = Found END_RECORD while expecting a record field.
+3058 = This record is closed, you can not add extra fields! new field name: %1$s
+3059 = Unexpected ADM token kind: %1$s while expecting ":".
+3060 = Found COMMA %1$s %2$s record field.
+3061 = Unsupported interval type: %1$s.
+3062 = Interval was not closed.
+3063 = The interval start and end point types do not match: %1$s != %2$s
+3064 = Missing COMMA before interval end point.
+3065 = This can not be an instance of interval: missing T for a datetime value.
+3066 = Unsupported interval type: %1$s.
+3067 = Interval argument not properly constructed.
+3068 = Found END_COLLECTION while expecting a list item.
+3069 = Found COMMA before any list item.
+3070 = Found COMMA while expecting a list item.
+3071 = Found END_RECORD while expecting a list item.
+3072 = Can't cast the %1$s type to the %2$s type.
+3073 = Missing deserializer method for constructor: %1$s.
+3074 = This can not be an instance of %1$s
+3075 = Closed field %1$s has null value.
+3076 = %1$s: no files found
+3077 = %1$s: path not found
+3078 = Cannot obtain hdfs scheduler
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IFunctionHelper.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IFunctionHelper.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IFunctionHelper.java
index b8be685..9e57342 100755
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IFunctionHelper.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IFunctionHelper.java
@@ -31,7 +31,7 @@ public interface IFunctionHelper {
public boolean isValidResult();
- public IJObject getObject(JTypeTag jtypeTag);
+ public IJObject getObject(JTypeTag jtypeTag) throws HyracksDataException;
public void reset();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/ILookupRecordReader.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/ILookupRecordReader.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/ILookupRecordReader.java
index fd03a07..2588f41 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/ILookupRecordReader.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/ILookupRecordReader.java
@@ -29,7 +29,7 @@ public interface ILookupRecordReader<T> {
public Class<?> getRecordClass() throws IOException;
- public IRawRecord<T> read(RecordId rid) throws IOException, Exception;
+ public IRawRecord<T> read(RecordId rid) throws Exception;
public void open() throws IOException;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordDataParser.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordDataParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordDataParser.java
index bc97ed0..72adc13 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordDataParser.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordDataParser.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.external.api;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
import java.io.DataOutput;
import java.io.IOException;
@@ -28,5 +30,5 @@ public interface IRecordDataParser<T> extends IDataParser {
* @param out
* @throws Exception
*/
- public void parse(IRawRecord<? extends T> record, DataOutput out) throws IOException;
+ public void parse(IRawRecord<? extends T> record, DataOutput out) throws HyracksDataException;
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithMetadataParser.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithMetadataParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithMetadataParser.java
index 88120ed..751541d 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithMetadataParser.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithMetadataParser.java
@@ -19,12 +19,12 @@
package org.apache.asterix.external.api;
import java.io.DataOutput;
-import java.io.IOException;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
public interface IRecordWithMetadataParser<T> extends IRecordDataParser<T> {
- public void parseMeta(DataOutput out) throws IOException;
+ public void parseMeta(DataOutput out) throws HyracksDataException;
- void appendLastParsedPrimaryKeyToTuple(ArrayTupleBuilder tb) throws IOException;
+ void appendLastParsedPrimaryKeyToTuple(ArrayTupleBuilder tb) throws HyracksDataException;
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithPKDataParser.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithPKDataParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithPKDataParser.java
index e6c114d..f5b5781 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithPKDataParser.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IRecordWithPKDataParser.java
@@ -18,11 +18,10 @@
*/
package org.apache.asterix.external.api;
-import java.io.IOException;
-
+import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
public interface IRecordWithPKDataParser<T> extends IRecordDataParser<T> {
- public void appendKeys(ArrayTupleBuilder tb, IRawRecord<? extends T> record) throws IOException;
+ public void appendKeys(ArrayTupleBuilder tb, IRawRecord<? extends T> record) throws HyracksDataException;
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IStreamDataParser.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IStreamDataParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IStreamDataParser.java
index ca274e8..aa875e1 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IStreamDataParser.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IStreamDataParser.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.external.api;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
+
import java.io.DataOutput;
import java.io.IOException;
import java.io.InputStream;
@@ -38,7 +40,7 @@ public interface IStreamDataParser extends IDataParser {
* DataOutput instance that for writing the parser output.
* @throws IOException
*/
- public boolean parse(DataOutput out) throws IOException;
+ public boolean parse(DataOutput out) throws HyracksDataException;
/**
* reset the parser state. this is called when a failure takes place
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
index 7806489..d85fe65 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
@@ -41,7 +41,8 @@ public class ChangeFeedDataFlowController<T> extends FeedRecordDataFlowControlle
}
@Override
- protected void addPrimaryKeys(final ArrayTupleBuilder tb, final IRawRecord<? extends T> record) throws IOException {
+ protected void addPrimaryKeys(final ArrayTupleBuilder tb, final IRawRecord<? extends T> record)
+ throws HyracksDataException {
dataParser.appendKeys(tb, record);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
index 7d65c52..4c88b0f 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
@@ -38,7 +38,8 @@ public class ChangeFeedWithMetaDataFlowController<T> extends FeedWithMetaDataFlo
}
@Override
- protected void addPrimaryKeys(final ArrayTupleBuilder tb, final IRawRecord<? extends T> record) throws IOException {
+ protected void addPrimaryKeys(final ArrayTupleBuilder tb, final IRawRecord<? extends T> record)
+ throws HyracksDataException {
((IRecordWithMetadataParser<T>) dataParser).appendLastParsedPrimaryKeyToTuple(tb);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/CounterTimerTupleForwarder.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/CounterTimerTupleForwarder.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/CounterTimerTupleForwarder.java
index db95a6a..b5adb32 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/CounterTimerTupleForwarder.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/CounterTimerTupleForwarder.java
@@ -24,6 +24,8 @@ import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.ITupleForwarder;
import org.apache.hyracks.api.comm.IFrame;
import org.apache.hyracks.api.comm.IFrameWriter;
@@ -110,7 +112,7 @@ public class CounterTimerTupleForwarder implements ITupleForwarder {
tuplesInFrame = 0;
appender.reset(frame, true);
if (!appender.append(tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize())) {
- throw new IllegalStateException();
+ throw new RuntimeDataException(ErrorCode.DATAFLOW_ILLEGAL_STATE);
}
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
index 790289a..45ae52b 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
@@ -18,8 +18,6 @@
*/
package org.apache.asterix.external.dataflow;
-import java.io.IOException;
-
import org.apache.asterix.external.api.IRawRecord;
import org.apache.asterix.external.api.IRecordReader;
import org.apache.asterix.external.api.IRecordWithMetadataParser;
@@ -37,7 +35,7 @@ public class FeedWithMetaDataFlowController<T> extends FeedRecordDataFlowControl
}
@Override
- protected void addMetaPart(ArrayTupleBuilder tb, IRawRecord<? extends T> record) throws IOException {
+ protected void addMetaPart(ArrayTupleBuilder tb, IRawRecord<? extends T> record) throws HyracksDataException {
((IRecordWithMetadataParser<T>) dataParser).parseMeta(tb.getDataOutput());
tb.addFieldEndOffset();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FrameFullTupleForwarder.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FrameFullTupleForwarder.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FrameFullTupleForwarder.java
index be737ae..18927cd 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FrameFullTupleForwarder.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FrameFullTupleForwarder.java
@@ -18,7 +18,9 @@
*/
package org.apache.asterix.external.dataflow;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.ITupleForwarder;
+import org.apache.asterix.common.exceptions.ErrorCode;
import org.apache.hyracks.api.comm.IFrame;
import org.apache.hyracks.api.comm.IFrameWriter;
import org.apache.hyracks.api.comm.VSizeFrame;
@@ -50,7 +52,7 @@ public class FrameFullTupleForwarder implements ITupleForwarder {
appender.reset(frame, true);
success = appender.append(tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize());
if (!success) {
- throw new IllegalStateException();
+ throw new RuntimeDataException(ErrorCode.DATAFLOW_ILLEGAL_STATE);
}
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/RateControlledTupleForwarder.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/RateControlledTupleForwarder.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/RateControlledTupleForwarder.java
index cb80e45..eb5527f 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/RateControlledTupleForwarder.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/RateControlledTupleForwarder.java
@@ -20,6 +20,8 @@ package org.apache.asterix.external.dataflow;
import java.util.Map;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.ITupleForwarder;
import org.apache.hyracks.api.comm.IFrame;
import org.apache.hyracks.api.comm.IFrameWriter;
@@ -69,7 +71,7 @@ public class RateControlledTupleForwarder implements ITupleForwarder {
try {
Thread.sleep(interTupleInterval);
} catch (InterruptedException e) {
- e.printStackTrace();
+ throw new HyracksDataException(e);
}
}
boolean success = appender.append(tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize());
@@ -78,7 +80,7 @@ public class RateControlledTupleForwarder implements ITupleForwarder {
appender.reset(frame, true);
success = appender.append(tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize());
if (!success) {
- throw new IllegalStateException();
+ throw new RuntimeDataException(ErrorCode.DATAFLOW_ILLEGAL_STATE);
}
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/api/IActiveLifecycleEventSubscriber.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/api/IActiveLifecycleEventSubscriber.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/api/IActiveLifecycleEventSubscriber.java
index be9a245..1d8c433 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/api/IActiveLifecycleEventSubscriber.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/api/IActiveLifecycleEventSubscriber.java
@@ -18,7 +18,7 @@
*/
package org.apache.asterix.external.feed.api;
-import org.apache.asterix.common.exceptions.AsterixException;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public interface IActiveLifecycleEventSubscriber {
@@ -34,7 +34,7 @@ public interface IActiveLifecycleEventSubscriber {
ACTIVE_JOB_FAILED
}
- public void assertEvent(ActiveLifecycleEvent event) throws AsterixException, InterruptedException;
+ public void assertEvent(ActiveLifecycleEvent event) throws HyracksDataException, InterruptedException;
public void handleEvent(ActiveLifecycleEvent event);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FeedExceptionHandler.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FeedExceptionHandler.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FeedExceptionHandler.java
index 64cca8c..a8c6056 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FeedExceptionHandler.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FeedExceptionHandler.java
@@ -22,7 +22,6 @@ import java.nio.ByteBuffer;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.common.exceptions.IExceptionHandler;
import org.apache.asterix.external.util.FeedFrameUtil;
import org.apache.hyracks.api.context.IHyracksTaskContext;
@@ -73,7 +72,7 @@ public class FeedExceptionHandler implements IExceptionHandler {
}
// TODO: Fix logging of exceptions
- private void logExceptionCausingTuple(int tupleIndex, Throwable e) throws HyracksDataException, AsterixException {
+ private void logExceptionCausingTuple(int tupleIndex, Throwable e) throws HyracksDataException {
LOGGER.log(Level.WARNING, e.getMessage(), e);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FrameDistributor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FrameDistributor.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FrameDistributor.java
index c8b7406..6ca4b77 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FrameDistributor.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/dataflow/FrameDistributor.java
@@ -24,6 +24,8 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.feed.dataflow.FeedFrameCollector.State;
import org.apache.asterix.external.feed.management.FeedConnectionId;
import org.apache.hyracks.api.comm.IFrameWriter;
@@ -43,7 +45,8 @@ public class FrameDistributor implements IFrameWriter {
public synchronized void registerFrameCollector(FeedFrameCollector frameCollector) throws HyracksDataException {
if (rootFailureCause != null) {
- throw new HyracksDataException("attempt to register to a failed feed data provider", rootFailureCause);
+ throw new RuntimeDataException(ErrorCode.FEED_DATAFLOW_FRAME_DISTR_REGISTER_FAILED_DATA_PROVIDER,
+ rootFailureCause);
}
// registering a new collector.
try {
@@ -72,7 +75,8 @@ public class FrameDistributor implements IFrameWriter {
public synchronized void deregisterFrameCollector(FeedConnectionId connectionId) throws HyracksDataException {
if (rootFailureCause != null) {
- throw new HyracksDataException("attempt to register to a failed feed data provider", rootFailureCause);
+ throw new RuntimeDataException(ErrorCode.FEED_DATAFLOW_FRAME_DISTR_REGISTER_FAILED_DATA_PROVIDER,
+ rootFailureCause);
}
FeedFrameCollector frameCollector = removeFrameCollector(connectionId);
try {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveLifecycleEventSubscriber.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveLifecycleEventSubscriber.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveLifecycleEventSubscriber.java
index 7f8efc5..d0eebde 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveLifecycleEventSubscriber.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveLifecycleEventSubscriber.java
@@ -21,8 +21,10 @@ package org.apache.asterix.external.feed.management;
import java.util.Iterator;
import java.util.concurrent.LinkedBlockingQueue;
-import org.apache.asterix.common.exceptions.AsterixException;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.feed.api.IActiveLifecycleEventSubscriber;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class ActiveLifecycleEventSubscriber implements IActiveLifecycleEventSubscriber {
@@ -38,7 +40,7 @@ public class ActiveLifecycleEventSubscriber implements IActiveLifecycleEventSubs
}
@Override
- public void assertEvent(ActiveLifecycleEvent event) throws AsterixException, InterruptedException {
+ public void assertEvent(ActiveLifecycleEvent event) throws HyracksDataException, InterruptedException {
boolean eventOccurred = false;
ActiveLifecycleEvent e;
Iterator<ActiveLifecycleEvent> eventsSoFar = inbox.iterator();
@@ -57,11 +59,11 @@ public class ActiveLifecycleEventSubscriber implements IActiveLifecycleEventSubs
}
}
- private void assertNoFailure(ActiveLifecycleEvent e) throws AsterixException {
+ private void assertNoFailure(ActiveLifecycleEvent e) throws HyracksDataException {
if (e.equals(ActiveLifecycleEvent.FEED_INTAKE_FAILURE) || e.equals(ActiveLifecycleEvent.FEED_COLLECT_FAILURE)
|| e.equals(ActiveLifecycleEvent.ACTIVE_JOB_FAILED)) {
- throw new AsterixException("Failure in active job.");
+ throw new RuntimeDataException(
+ ErrorCode.FEED_MANAGEMENT_ACTIVE_LIFE_CYCLE_EVENT_SUBSCRIBER_ACTIVE_JOB_FAILURE);
}
}
-
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java
index da26e85..64f0b8d 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java
@@ -31,6 +31,8 @@ import org.apache.asterix.active.ActivityState;
import org.apache.asterix.active.EntityId;
import org.apache.asterix.active.IActiveEntityEventsListener;
import org.apache.asterix.common.exceptions.ACIDException;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.feed.api.FeedOperationCounter;
import org.apache.asterix.external.feed.api.IFeedJoint;
import org.apache.asterix.external.feed.api.IFeedJoint.State;
@@ -165,9 +167,9 @@ public class FeedEventsListener implements IActiveEntityEventsListener {
}
}
- public synchronized void registerFeedJoint(IFeedJoint feedJoint, int numOfPrividers) {
- Pair<FeedOperationCounter, List<IFeedJoint>> feedJointsOnPipeline =
- feedPipeline.get(feedJoint.getOwnerFeedId());
+ public synchronized void registerFeedJoint(IFeedJoint feedJoint, int numOfPrividers) throws HyracksDataException {
+ Pair<FeedOperationCounter, List<IFeedJoint>> feedJointsOnPipeline = feedPipeline
+ .get(feedJoint.getOwnerFeedId());
if (feedJointsOnPipeline == null) {
feedJointsOnPipeline = new Pair<>(new FeedOperationCounter(numOfPrividers), new ArrayList<IFeedJoint>());
feedPipeline.put(feedJoint.getOwnerFeedId(), feedJointsOnPipeline);
@@ -176,7 +178,8 @@ public class FeedEventsListener implements IActiveEntityEventsListener {
if (!feedJointsOnPipeline.second.contains(feedJoint)) {
feedJointsOnPipeline.second.add(feedJoint);
} else {
- throw new IllegalArgumentException("Feed joint " + feedJoint + " already registered");
+ throw new RuntimeDataException(
+ ErrorCode.FEED_MANAGEMENT_FEED_EVENT_LISTENER_FEED_JOINT_REGISTERED, feedJoint);
}
}
}
@@ -228,13 +231,14 @@ public class FeedEventsListener implements IActiveEntityEventsListener {
public synchronized void registerFeedIntakeJob(EntityId feedId, JobId jobId, JobSpecification jobSpec)
throws HyracksDataException {
if (entity2Intake.get(feedId) != null) {
- throw new IllegalStateException("Feed already has an intake job");
+ throw new RuntimeDataException(
+ ErrorCode.FEED_MANAGEMENT_FEED_EVENTS_LISTENER_ALREADY_HAVE_INTAKE_JOB);
}
if (intakeJobs.get(jobId.getId()) != null) {
- throw new IllegalStateException("Feed job already registered in intake jobs");
+ throw new RuntimeDataException(ErrorCode.FEED_MANAGEMENT_FEED_EVENTS_LISTENER_INTAKE_JOB_REGISTERED);
}
if (jobs.get(jobId.getId()) != null) {
- throw new IllegalStateException("Feed job already registered in all jobs");
+ throw new RuntimeDataException(ErrorCode.FEED_MANAGEMENT_FEED_EVENTS_LISTENER_FEED_JOB_REGISTERED);
}
Pair<FeedOperationCounter, List<IFeedJoint>> pair = feedPipeline.get(feedId);
@@ -258,18 +262,18 @@ public class FeedEventsListener implements IActiveEntityEventsListener {
LOGGER.info("Registered feed intake [" + jobId + "]" + " for feed " + feedId);
}
} else {
- throw new HyracksDataException(
- "Could not register feed intake job [" + jobId + "]" + " for feed " + feedId);
+ throw new RuntimeDataException(ErrorCode.FEED_MANAGEMENT_FEED_EVENT_REGISTER_INTAKE_JOB_FAIL, jobId,
+ feedId);
}
}
public synchronized void registerFeedCollectionJob(EntityId sourceFeedId, FeedConnectionId connectionId,
- JobId jobId, JobSpecification jobSpec, Map<String, String> feedPolicy) {
+ JobId jobId, JobSpecification jobSpec, Map<String, String> feedPolicy) throws HyracksDataException {
if (jobs.get(jobId.getId()) != null) {
- throw new IllegalStateException("Feed job already registered");
+ throw new RuntimeDataException(ErrorCode.FEED_MANAGEMENT_FEED_EVENTS_LISTENER_FEED_JOB_REGISTERED);
}
if (connectJobInfos.containsKey(jobId.getId())) {
- throw new IllegalStateException("Feed job already registered");
+ throw new RuntimeDataException(ErrorCode.FEED_MANAGEMENT_FEED_EVENTS_LISTENER_FEED_JOB_REGISTERED);
}
List<IFeedJoint> feedJoints = feedPipeline.get(sourceFeedId).second;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/policy/FeedPolicyEnforcer.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/policy/FeedPolicyEnforcer.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/policy/FeedPolicyEnforcer.java
index e0944ad..3483da4 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/policy/FeedPolicyEnforcer.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/policy/FeedPolicyEnforcer.java
@@ -18,11 +18,10 @@
*/
package org.apache.asterix.external.feed.policy;
-import java.rmi.RemoteException;
import java.util.Map;
-import org.apache.asterix.common.exceptions.ACIDException;
import org.apache.asterix.external.feed.management.FeedConnectionId;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
public class FeedPolicyEnforcer {
@@ -34,7 +33,7 @@ public class FeedPolicyEnforcer {
this.policyAccessor = new FeedPolicyAccessor(feedPolicy);
}
- public boolean continueIngestionPostSoftwareFailure(Exception e) throws RemoteException, ACIDException {
+ public boolean continueIngestionPostSoftwareFailure(HyracksDataException e) throws HyracksDataException {
return policyAccessor.continueOnSoftFailure();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java
index 71de1b1..d01d1a8 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/ExternalFileIndexAccessor.java
@@ -24,6 +24,8 @@ import java.io.DataInputStream;
import java.io.Serializable;
import java.util.Date;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.operators.ExternalLookupOperatorDescriptor;
import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider;
import org.apache.asterix.om.base.ADateTime;
@@ -120,7 +122,8 @@ public class ExternalFileIndexAccessor implements Serializable {
setFile(externalFileRecord, file);
} else {
// This should never happen
- throw new HyracksDataException("Was not able to find a file in the files index");
+ throw new RuntimeDataException(
+ ErrorCode.INDEXING_EXTERNAL_FILE_INDEX_ACCESSOR_UNABLE_TO_FIND_FILE_INDEX);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/FileIndexTupleTranslator.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/FileIndexTupleTranslator.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/FileIndexTupleTranslator.java
index 18e5a79..970b02a 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/FileIndexTupleTranslator.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/indexing/FileIndexTupleTranslator.java
@@ -18,10 +18,7 @@
*/
package org.apache.asterix.external.indexing;
-import java.io.IOException;
-
import org.apache.asterix.builders.RecordBuilder;
-import org.apache.asterix.common.exceptions.AsterixException;
import org.apache.asterix.formats.nontagged.SerializerDeserializerProvider;
import org.apache.asterix.om.base.AMutableDateTime;
import org.apache.asterix.om.base.AMutableInt32;
@@ -30,6 +27,7 @@ import org.apache.asterix.om.base.AMutableString;
import org.apache.asterix.om.base.IAObject;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.data.std.util.ArrayBackedValueStorage;
import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleReference;
@@ -54,7 +52,7 @@ public class FileIndexTupleTranslator {
.getSerializerDeserializer(BuiltinType.AINT64);
private ArrayTupleReference tuple = new ArrayTupleReference();
- public ITupleReference getTupleFromFile(ExternalFile file) throws IOException, AsterixException {
+ public ITupleReference getTupleFromFile(ExternalFile file) throws HyracksDataException {
tupleBuilder.reset();
//File Number
aInt32.setValue(file.getFileNumber());
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
index 529977a..2b899d9 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
@@ -158,7 +158,7 @@ public class HDFSDataSourceFactory implements IRecordReaderFactory<Object>, IInd
* This method initialize the scheduler which assigns responsibility of reading different logical input splits from
* HDFS
*/
- private static void init() {
+ private static void init() throws HyracksDataException {
if (!initialized) {
synchronized (initLock) {
if (!initialized) {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/CharArrayRecord.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/CharArrayRecord.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/CharArrayRecord.java
index 33f9673..ff0cf84 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/CharArrayRecord.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/CharArrayRecord.java
@@ -22,6 +22,8 @@ import java.io.IOException;
import java.nio.CharBuffer;
import java.util.Arrays;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.IRawRecord;
import org.apache.asterix.external.util.ExternalDataConstants;
@@ -66,8 +68,8 @@ public class CharArrayRecord implements IRawRecord<char[]> {
private void ensureCapacity(int len) throws IOException {
if (value.length < len) {
if (len > ExternalDataConstants.MAX_RECORD_SIZE) {
- throw new IOException(
- "Record is too large!. Maximum record size is " + ExternalDataConstants.MAX_RECORD_SIZE);
+ throw new RuntimeDataException(ErrorCode.INPUT_RECORD_READER_CHAR_ARRAY_RECORD_TOO_LARGE,
+ ExternalDataConstants.MAX_RECORD_SIZE);
}
int newSize = Math.min((int) (len * ExternalDataConstants.DEFAULT_BUFFER_INCREMENT_FACTOR),
ExternalDataConstants.MAX_RECORD_SIZE);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
index bc5de80..c2f74e4 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithMetadataAndPK.java
@@ -21,6 +21,8 @@ package org.apache.asterix.external.input.record;
import java.io.DataOutput;
import java.io.IOException;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.IDataParser;
import org.apache.asterix.external.api.IRawRecord;
import org.apache.asterix.external.util.ExternalDataUtils;
@@ -143,8 +145,8 @@ public class RecordWithMetadataAndPK<T> extends RecordWithPK<T> {
throws IOException {
if (length == 0) {
if (!NonTaggedFormatUtil.isOptional(metaTypes[index])) {
- throw new HyracksDataException(
- "Field " + index + " of meta record is not an optional type so it cannot accept null value. ");
+ throw new RuntimeDataException(
+ ErrorCode.INPUT_RECORD_RECORD_WITH_METADATA_AND_PK_NULL_IN_NON_OPTIONAL, index);
}
fieldValueBufferOutputs[index].writeByte(ATypeTag.SERIALIZED_NULL_TYPE_TAG);
} else {
@@ -154,12 +156,12 @@ public class RecordWithMetadataAndPK<T> extends RecordWithPK<T> {
}
@Override
- public void appendPrimaryKeyToTuple(final ArrayTupleBuilder tb) throws IOException {
+ public void appendPrimaryKeyToTuple(final ArrayTupleBuilder tb) throws HyracksDataException {
for (int i = 0; i < pkIndexes.length; i++) {
if (keyIndicator[i] == 1) {
tb.addField(getMetadata(pkIndexes[i]));
} else {
- throw new HyracksDataException("Can't get PK from record part");
+ throw new RuntimeDataException(ErrorCode.INPUT_RECORD_RECORD_WITH_METADATA_AND_PK_CANNT_GET_PKEY);
}
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithPK.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithPK.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithPK.java
index 02ab028..df69aa6 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithPK.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/RecordWithPK.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import org.apache.asterix.external.api.IRawRecord;
import org.apache.asterix.om.types.IAType;
+import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.data.std.util.ArrayBackedValueStorage;
import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
@@ -86,7 +87,7 @@ public class RecordWithPK<T> implements IRawRecord<T> {
record.set(t);
}
- public void appendPrimaryKeyToTuple(final ArrayTupleBuilder tb) throws IOException {
+ public void appendPrimaryKeyToTuple(final ArrayTupleBuilder tb) throws HyracksDataException {
for (final ArrayBackedValueStorage pkStorage : pkFieldValueBuffers) {
tb.addField(pkStorage);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/converter/DCPMessageToRecordConverter.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/converter/DCPMessageToRecordConverter.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/converter/DCPMessageToRecordConverter.java
index 01466fd..38e5fa3 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/converter/DCPMessageToRecordConverter.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/converter/DCPMessageToRecordConverter.java
@@ -24,6 +24,8 @@ import java.nio.CharBuffer;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.StandardCharsets;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.IRawRecord;
import org.apache.asterix.external.input.record.CharArrayRecord;
import org.apache.asterix.external.input.record.RecordWithMetadataAndPK;
@@ -31,7 +33,6 @@ import org.apache.asterix.external.util.ExternalDataConstants;
import org.apache.asterix.om.types.ARecordType;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
-import org.apache.hyracks.api.exceptions.HyracksDataException;
import com.couchbase.client.core.message.dcp.DCPRequest;
import com.couchbase.client.core.message.dcp.MutationMessage;
@@ -93,7 +94,9 @@ public class DCPMessageToRecordConverter implements IRecordToRecordWithMetadataA
recordWithMetadata.reset();
recordWithMetadata.setMetadata(0, key);
} else {
- throw new HyracksDataException("Unknown DCP request: " + dcpRequest);
+ throw new RuntimeDataException(
+ ErrorCode.INPUT_RECORD_CONVERTER_DCP_MSG_TO_RECORD_CONVERTER_UNKNOWN_DCP_REQUEST,
+ dcpRequest.toString());
}
return recordWithMetadata;
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketClientInputStream.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketClientInputStream.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketClientInputStream.java
index 4321bcd..b49c11b 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketClientInputStream.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketClientInputStream.java
@@ -31,7 +31,7 @@ public class SocketClientInputStream extends AsterixInputStream {
private final Socket socket;
private InputStream in;
- public SocketClientInputStream(Pair<String, Integer> address) throws UnknownHostException, IOException {
+ public SocketClientInputStream(Pair<String, Integer> address) throws IOException {
this.socket = new Socket(address.first, address.second);
this.in = socket.getInputStream();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
index baaa731..1b89b0c 100755
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
@@ -21,7 +21,8 @@ package org.apache.asterix.external.library;
import java.io.IOException;
import org.apache.asterix.common.api.IAppRuntimeContext;
-import org.apache.asterix.common.exceptions.AsterixException;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.common.library.ILibraryManager;
import org.apache.asterix.external.api.IExternalFunction;
import org.apache.asterix.external.api.IFunctionFactory;
@@ -86,7 +87,8 @@ public abstract class ExternalFunction implements IExternalFunction {
externalFunctionFactory = (IFunctionFactory) clazz.newInstance();
externalFunction = externalFunctionFactory.getExternalFunction();
} catch (Exception e) {
- throw new HyracksDataException(" Unable to load/instantiate class " + classname, e);
+ throw new RuntimeDataException(ErrorCode.LIBRARY_EXTERNAL_FUNCTION_UNABLE_TO_LOAD_CLASS, e,
+ classname);
}
}
@@ -98,7 +100,7 @@ public abstract class ExternalFunction implements IExternalFunction {
return finfo;
}
- public void setArguments(IFrameTupleReference tuple) throws AlgebricksException, IOException, AsterixException {
+ public void setArguments(IFrameTupleReference tuple) throws AlgebricksException, IOException {
for (int i = 0; i < evaluatorFactories.length; i++) {
argumentEvaluators[i].evaluate(tuple, inputVal);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunctionProvider.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunctionProvider.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunctionProvider.java
index b344598..0e80e4b 100755
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunctionProvider.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunctionProvider.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.external.library;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.IExternalFunction;
import org.apache.asterix.external.api.IExternalScalarFunction;
import org.apache.asterix.external.api.IFunctionHelper;
@@ -39,9 +41,10 @@ public class ExternalFunctionProvider {
return new ExternalScalarFunction(finfo, args, context);
case AGGREGATE:
case UNNEST:
- throw new IllegalArgumentException(" UDF of kind" + finfo.getKind() + " not supported.");
+ throw new RuntimeDataException(ErrorCode.LIBRARY_EXTERNAL_FUNCTION_UNSUPPORTED_KIND,
+ finfo.getKind());
default:
- throw new IllegalArgumentException(" unknown function kind" + finfo.getKind());
+ throw new RuntimeDataException(ErrorCode.LIBRARY_EXTERNAL_FUNCTION_UNKNOWN_KIND, finfo.getKind());
}
}
}
@@ -66,7 +69,6 @@ class ExternalScalarFunction extends ExternalFunction implements IExternalScalar
result.set(resultBuffer.getByteArray(), resultBuffer.getStartOffset(), resultBuffer.getLength());
functionHelper.reset();
} catch (Exception e) {
- e.printStackTrace();
throw new HyracksDataException(e);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
index 3373f70..968dbf6 100755
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
@@ -24,6 +24,8 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.common.library.ILibraryManager;
import org.apache.hyracks.algebricks.common.utils.Pair;
@@ -32,11 +34,12 @@ public class ExternalLibraryManager implements ILibraryManager {
private final Map<String, ClassLoader> libraryClassLoaders = new HashMap<>();
@Override
- public void registerLibraryClassLoader(String dataverseName, String libraryName, ClassLoader classLoader) {
+ public void registerLibraryClassLoader(String dataverseName, String libraryName, ClassLoader classLoader)
+ throws RuntimeDataException {
String key = getKey(dataverseName, libraryName);
synchronized (libraryClassLoaders) {
if (libraryClassLoaders.get(key) != null) {
- throw new IllegalStateException("Library class loader already registered!");
+ throw new RuntimeDataException(ErrorCode.LIBRARY_EXTERNAL_LIBRARY_CLASS_REGISTERED);
}
libraryClassLoaders.put(key, classLoader);
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/024fafe2/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/JavaFunctionHelper.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/JavaFunctionHelper.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/JavaFunctionHelper.java
index 912192d..c1b22dc 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/JavaFunctionHelper.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/JavaFunctionHelper.java
@@ -23,6 +23,8 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.asterix.common.exceptions.AsterixException;
+import org.apache.asterix.common.exceptions.ErrorCode;
+import org.apache.asterix.common.exceptions.RuntimeDataException;
import org.apache.asterix.external.api.IFunctionHelper;
import org.apache.asterix.external.api.IJObject;
import org.apache.asterix.external.library.java.JObjectPointableVisitor;
@@ -38,8 +40,6 @@ import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
import org.apache.asterix.om.util.container.IObjectPool;
import org.apache.asterix.om.util.container.ListObjectPool;
-import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
-import org.apache.hyracks.algebricks.common.exceptions.NotImplementedException;
import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.data.std.api.IDataOutputProvider;
import org.apache.hyracks.data.std.api.IValueReference;
@@ -119,7 +119,8 @@ public class JavaFunctionHelper implements IFunctionHelper {
jObject = pointableVisitor.visit((AListVisitablePointable) pointable, getTypeInfo(index, type));
break;
case ANY:
- throw new IllegalStateException("Cannot handle a function argument of type " + type.getTypeTag());
+ throw new RuntimeDataException(ErrorCode.LIBRARY_JAVA_FUNCTION_HELPER_CANNOT_HANDLE_ARGU_TYPE,
+ type.getTypeTag());
default:
pointable = pointableAllocator.allocateFieldValue(type);
pointable.set(valueReference);
@@ -147,7 +148,7 @@ public class JavaFunctionHelper implements IFunctionHelper {
}
@Override
- public IJObject getObject(JTypeTag jtypeTag) {
+ public IJObject getObject(JTypeTag jtypeTag) throws RuntimeDataException {
IJObject retValue = null;
switch (jtypeTag) {
case INT:
@@ -164,8 +165,10 @@ public class JavaFunctionHelper implements IFunctionHelper {
break;
default:
try {
- throw new NotImplementedException("Object of type " + jtypeTag.name() + " not supported.");
+ throw new RuntimeDataException(ErrorCode.LIBRARY_JAVA_FUNCTION_HELPER_OBJ_TYPE_NOT_SUPPORTED,
+ jtypeTag.name());
} catch (IllegalStateException e) {
+ // Exception is not thrown
e.printStackTrace();
}
break;