> On Feb. 5, 2014, 7:16 a.m., Jinho Kim wrote:
> > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java,
> > line 399
> > <https://reviews.apache.org/r/17735/diff/1/?file=469962#file469962line399>
> >
> > catalog.getFunction is remote function.
> > it tries to fail three times. so is not better
Hi Jinho. I didn't mean this.
FunctionDesc funcDesc = catalog.getFunction(expr.getSignature(),
paramTypes);
if (funcDesc == null) {
throw new NoSuchFunctionException(expr.getSignature(), paramTypes);
}
I mean this.
if (!catalog.containFunction(expr.getSignature(), paramTypes)) {
throw new NoSuchFunctionException(expr.getSignature(), paramTypes);
}
FunctionDesc funcDesc = catalog.getFunction(expr.getSignature(),
paramTypes);
- Dae Myung
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17735/#review33682
-----------------------------------------------------------
On Feb. 5, 2014, 6:44 a.m., Jinho Kim wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17735/
> -----------------------------------------------------------
>
> (Updated Feb. 5, 2014, 6:44 a.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-586
> https://issues.apache.org/jira/browse/TAJO-586
>
>
> Repository: tajo
>
>
> Description
> -------
>
> containFunction should return boolean value
>
> {noformat}
> 2014-02-05 15:18:23,088 INFO catalog.CatalogServer
> (CatalogServer.java:start(166)) - Catalog Server startup (127.0.0.1:11353)
> 2014-02-05 15:18:23,098 ERROR catalog.AbstractCatalogClient
> (AbstractCatalogClient.java:containFunction(407)) -
> org.apache.tajo.catalog.exception.NoSuchFunctionException: function test10()
> does not exist
> com.google.protobuf.ServiceException:
> org.apache.tajo.catalog.exception.NoSuchFunctionException: function test10()
> does not exist
> at
> org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:110)
> at
> org.apache.tajo.catalog.AbstractCatalogClient.containFunction(AbstractCatalogClient.java:400)
> at
> org.apache.tajo.catalog.TestCatalog.testRegisterAndFindFunc(TestCatalog.java:178)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at
> org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:22)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
> at
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
> at
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202)
> at
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> Caused by: org.apache.tajo.catalog.exception.NoSuchFunctionException:
> function test10() does not exist
> at
> org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.findFunction(CatalogServer.java:523)
> at
> org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.containFunction(CatalogServer.java:497)
> at
> org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.containFunction(CatalogServer.java:589)
> at
> org.apache.tajo.catalog.AbstractCatalogClient$18.call(AbstractCatalogClient.java:403)
> at
> org.apache.tajo.catalog.AbstractCatalogClient$18.call(AbstractCatalogClient.java:400)
> at
> org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:96)
> {noformat}
>
>
> Diffs
> -----
>
>
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
> 69e0248b5f1e2d6a9adc5eb0d5052152d09eb1d3
>
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
> 5d6f747e0e6011f037bcc0efd87d6d3687d1c189
>
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
> 4dfc97a7007bce4aec374df409f631e66c956e68
>
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java
> f25064f80e9e8580be19a521cdf8a66d9ea383a7
>
> Diff: https://reviews.apache.org/r/17735/diff/
>
>
> Testing
> -------
>
> mvn clean install
>
>
> Thanks,
>
> Jinho Kim
>
>