[
https://issues.apache.org/jira/browse/TAJO-1748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14679781#comment-14679781
]
ASF GitHub Bot commented on TAJO-1748:
--------------------------------------
Github user jihoonson commented on a diff in the pull request:
https://github.com/apache/tajo/pull/680#discussion_r36610170
--- Diff:
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java
---
@@ -754,26 +801,19 @@ public final FunctionDesc getFunction(final String
signature, FunctionType funcT
builder.addParameterTypes(type);
}
- FunctionResponse response = null;
try {
final BlockingInterface stub = getStub();
- response = stub.getFunctionMeta(null, builder.build());
- } catch (ServiceException se) {
- throw new RuntimeException(se);
- }
-
- if (isThisError(response.getState(), ResultCode.UNDEFINED_FUNCTION)) {
- throw new UndefinedFunctionException(signature, paramTypes);
- } else if (isThisError(response.getState(),
ResultCode.AMBIGUOUS_FUNCTION)) {
- throw new AmbiguousFunctionException(signature, paramTypes);
- }
+ final FunctionResponse response = stub.getFunctionMeta(null,
builder.build());
--- End diff --
If there are several functions of the given name, getFunctionMeta() always
throws a function which has the nearest argument among them instead of throwing
```AmbiguousFunctionException```.
> Refine client APIs to throw specific exceptions
> -----------------------------------------------
>
> Key: TAJO-1748
> URL: https://issues.apache.org/jira/browse/TAJO-1748
> Project: Tajo
> Issue Type: Sub-task
> Components: Catalog, Java Client
> Reporter: Hyunsik Choi
> Assignee: Hyunsik Choi
> Fix For: 0.11.0
>
>
> This patch includes lots of API changes in terms of only exceptions. In
> overall, this patch changes throwable exceptions for APIs and unit tests to
> ensure that the APIs throws exact exceptions.
> In sum, this patch includes the following changes:
> * Rename TajoExceptionInterface to DefaultTajoException.
> * Rename UnImplementedException to NotImplementedException.
> * Replace CatalogException by TajoException
> * Move almost TajoException/TajoRunException in tajo-core into tajo-common
> * Remove CatalogException and CatalogExceptionUtil
> * Add throwable exception to all APIs in TajoClient, QueryClient,
> CatalogService, and CatalogAdminClient.
> * Refine all client implementations to throw received exception exactly.
> * Add negative unit tests for all APIs of them
> * Refine Client API v2 to handle exceptional cases like query failed, and
> killed.
> * Add query fail and kill tests for Client v2
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)