[ https://issues.apache.org/jira/browse/PHOENIX-2379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15113622#comment-15113622 ]
Rajeshbabu Chintaguntla commented on PHOENIX-2379: -------------------------------------------------- [~andresmanasma...@gmail.com] The UDFs can used in where clause as well. Can you please tell me whether you have added the jar to path of configuration hbase.dynamic.jars.dir in HDFS. If you add the jar then it should work fine. > Useless UDFs after where > ------------------------ > > Key: PHOENIX-2379 > URL: https://issues.apache.org/jira/browse/PHOENIX-2379 > Project: Phoenix > Issue Type: Bug > Reporter: Andrés > Assignee: Rajeshbabu Chintaguntla > > it's ok to use UDFs after select but useless after where > like this: > select udfs(..) from table where udfs(..)!= > java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: > org.apache.phoenix.exception.PhoenixIOException: > org.apache.hadoop.hbase.DoNotRetryIOException: > java.lang.reflect.InvocationTargetException > at > org.apache.hadoop.hbase.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1386) > at > org.apache.hadoop.hbase.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:934) > at > org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3200) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:30946) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2093) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101) > at > org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.hadoop.hbase.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1382) > ... 8 more > Caused by: org.apache.hadoop.hbase.exceptions.DeserializationException: > org.apache.hadoop.hbase.DoNotRetryIOException: > java.lang.reflect.InvocationTargetException > at > org.apache.hadoop.hbase.filter.FilterList.parseFrom(FilterList.java:419) > ... 12 more > Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: > java.lang.reflect.InvocationTargetException > at > org.apache.hadoop.hbase.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1386) > at > org.apache.hadoop.hbase.filter.FilterList.parseFrom(FilterList.java:416) > ... 12 more > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at > org.apache.hadoop.hbase.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1382) > ... 13 more > Caused by: org.apache.hadoop.hbase.exceptions.DeserializationException: > org.apache.hadoop.hbase.DoNotRetryIOException: BooleanExpressionFilter failed > during reading: java.lang.ClassNotFoundException: > com.zamplus.brain.phoenix.function.RegularFunction > at > org.apache.phoenix.filter.SingleCQKeyValueComparisonFilter.parseFrom(SingleCQKeyValueComparisonFilter.java:55) > ... 17 more > Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: > BooleanExpressionFilter failed during reading: > java.lang.ClassNotFoundException: > com.zamplus.brain.phoenix.function.RegularFunction > at > org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84) > at > org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:52) > at > org.apache.phoenix.filter.BooleanExpressionFilter.readFields(BooleanExpressionFilter.java:108) > at > org.apache.phoenix.filter.SingleKeyValueComparisonFilter.readFields(SingleKeyValueComparisonFilter.java:136) > at > org.apache.hadoop.hbase.util.Writables.getWritable(Writables.java:131) > at > org.apache.hadoop.hbase.util.Writables.getWritable(Writables.java:101) > at > org.apache.phoenix.filter.SingleCQKeyValueComparisonFilter.parseFrom(SingleCQKeyValueComparisonFilter.java:53) > ... 17 more > Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: > com.zamplus.brain.phoenix.function.RegularFunction > at > org.apache.phoenix.expression.function.UDFExpression.constructUDFFunction(UDFExpression.java:170) > at > org.apache.phoenix.expression.function.UDFExpression.readFields(UDFExpression.java:158) > at > org.apache.phoenix.expression.BaseCompoundExpression.readFields(BaseCompoundExpression.java:110) > at > org.apache.phoenix.expression.ComparisonExpression.readFields(ComparisonExpression.java:343) > at > org.apache.phoenix.filter.BooleanExpressionFilter.readFields(BooleanExpressionFilter.java:106) > ... 21 more > Caused by: java.lang.ClassNotFoundException: > com.zamplus.brain.phoenix.function.RegularFunction > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at > org.apache.hadoop.hbase.util.DynamicClassLoader.loadClass(DynamicClassLoader.java:147) > at > org.apache.phoenix.expression.function.UDFExpression.constructUDFFunction(UDFExpression.java:164) > ... 25 more > at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73) > at sqlline.TableOutputFormat.print(TableOutputFormat.java:33) > at sqlline.SqlLine.print(SqlLine.java:1653) > at sqlline.Commands.execute(Commands.java:833) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:808) > at sqlline.SqlLine.begin(SqlLine.java:681) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:292) -- This message was sent by Atlassian JIRA (v6.3.4#6332)