Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 45FC4200BD5 for ; Tue, 1 Nov 2016 04:08:16 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 44B8D160B08; Tue, 1 Nov 2016 03:08:16 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 93440160B1C for ; Tue, 1 Nov 2016 04:08:13 +0100 (CET) Received: (qmail 88905 invoked by uid 500); 1 Nov 2016 03:08:12 -0000 Mailing-List: contact commits-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list commits@asterixdb.apache.org Received: (qmail 88233 invoked by uid 99); 1 Nov 2016 03:08:11 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2016 03:08:11 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 6C769F159F; Tue, 1 Nov 2016 03:08:11 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: buyingyi@apache.org To: commits@asterixdb.apache.org Date: Tue, 01 Nov 2016 03:08:30 -0000 Message-Id: <4d05f528b5b744bfb4acd0d3ab02dee0@git.apache.org> In-Reply-To: <7b81f3dad1144756bbb53133efd9b6d9@git.apache.org> References: <7b81f3dad1144756bbb53133efd9b6d9@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [21/22] asterixdb git commit: Unify runtime type exceptions by using error code and message template. archived-at: Tue, 01 Nov 2016 03:08:16 -0000 http://git-wip-us.apache.org/repos/asf/asterixdb/blob/52671a2c/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 4f5242e..b344598 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 @@ -23,17 +23,17 @@ import org.apache.asterix.external.api.IExternalScalarFunction; import org.apache.asterix.external.api.IFunctionHelper; import org.apache.asterix.om.functions.IExternalFunctionInfo; import org.apache.asterix.om.types.ATypeTag; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; import org.apache.hyracks.api.context.IHyracksTaskContext; +import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.api.IPointable; import org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference; public class ExternalFunctionProvider { public static IExternalFunction getExternalFunctionEvaluator(IExternalFunctionInfo finfo, - IScalarEvaluatorFactory args[], IHyracksTaskContext context) throws AlgebricksException { + IScalarEvaluatorFactory args[], IHyracksTaskContext context) throws HyracksDataException { switch (finfo.getKind()) { case SCALAR: return new ExternalScalarFunction(finfo, args, context); @@ -49,17 +49,17 @@ public class ExternalFunctionProvider { class ExternalScalarFunction extends ExternalFunction implements IExternalScalarFunction, IScalarEvaluator { public ExternalScalarFunction(IExternalFunctionInfo finfo, IScalarEvaluatorFactory args[], - IHyracksTaskContext context) throws AlgebricksException { + IHyracksTaskContext context) throws HyracksDataException { super(finfo, args, context); try { initialize(functionHelper); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } @Override - public void evaluate(IFrameTupleReference tuple, IPointable result) throws AlgebricksException { + public void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException { try { setArguments(tuple); evaluate(functionHelper); @@ -67,22 +67,26 @@ class ExternalScalarFunction extends ExternalFunction implements IExternalScalar functionHelper.reset(); } catch (Exception e) { e.printStackTrace(); - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } @Override - public void evaluate(IFunctionHelper argumentProvider) throws Exception { - resultBuffer.reset(); - ((IExternalScalarFunction) externalFunction).evaluate(argumentProvider); + public void evaluate(IFunctionHelper argumentProvider) throws HyracksDataException { + try { + resultBuffer.reset(); + ((IExternalScalarFunction) externalFunction).evaluate(argumentProvider); /* * Make sure that if "setResult" is not called, * or the result object is missing we let Hyracks storage manager know * we want to discard a missing object */ - byte byteOutput = resultBuffer.getByteArray()[0]; - if (!argumentProvider.isValidResult() || byteOutput == ATypeTag.SERIALIZED_MISSING_TYPE_TAG) { - resultBuffer.getDataOutput().writeByte(ATypeTag.SERIALIZED_MISSING_TYPE_TAG); + byte byteOutput = resultBuffer.getByteArray()[0]; + if (!argumentProvider.isValidResult() || byteOutput == ATypeTag.SERIALIZED_MISSING_TYPE_TAG) { + resultBuffer.getDataOutput().writeByte(ATypeTag.SERIALIZED_MISSING_TYPE_TAG); + } + } catch (Exception e) { + throw new HyracksDataException(e); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/52671a2c/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalScalarFunctionEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalScalarFunctionEvaluatorFactory.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalScalarFunctionEvaluatorFactory.java index 7c1ce4b..99d40c7 100755 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalScalarFunctionEvaluatorFactory.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalScalarFunctionEvaluatorFactory.java @@ -23,6 +23,7 @@ import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; import org.apache.hyracks.api.context.IHyracksTaskContext; +import org.apache.hyracks.api.exceptions.HyracksDataException; public class ExternalScalarFunctionEvaluatorFactory implements IScalarEvaluatorFactory { @@ -37,7 +38,7 @@ public class ExternalScalarFunctionEvaluatorFactory implements IScalarEvaluatorF } @Override - public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws AlgebricksException { + public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException { return (ExternalScalarFunction) ExternalFunctionProvider.getExternalFunctionEvaluator(finfo, args, ctx); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/52671a2c/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 50dc28e..912192d 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 @@ -59,7 +59,7 @@ public class JavaFunctionHelper implements IFunctionHelper { private boolean isValidResult = false; public JavaFunctionHelper(IExternalFunctionInfo finfo, IDataOutputProvider outputProvider) - throws AlgebricksException { + throws HyracksDataException { this.finfo = finfo; this.outputProvider = outputProvider; this.pointableVisitor = new JObjectPointableVisitor(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/52671a2c/asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/classad/ClassAd.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/classad/ClassAd.java b/asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/classad/ClassAd.java index 4f27cd8..7ac637f 100644 --- a/asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/classad/ClassAd.java +++ b/asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/classad/ClassAd.java @@ -478,7 +478,7 @@ public class ClassAd extends ExprTree { ExprTree tree = pRef; // sanity checks if (attrName.isEmpty() || pRef == null) { - throw new HyracksDataException(); + throw new HyracksDataException("Attribute name is empty"); } if (tree != null) { CaseInsensitiveString pstrAttr = objectPool.caseInsensitiveStringPool.get(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/52671a2c/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ACircleSerializerDeserializer.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ACircleSerializerDeserializer.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ACircleSerializerDeserializer.java index 4460fd9..ad8375c 100644 --- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ACircleSerializerDeserializer.java +++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ACircleSerializerDeserializer.java @@ -55,7 +55,7 @@ public class ACircleSerializerDeserializer implements ISerializerDeserializer