----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/26854/#review57952 -----------------------------------------------------------
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionInfo.java <https://reviews.apache.org/r/26854/#comment98935> Can we replace isNative/isPersistent with an enum that has BUILTIN, PERMANENT, TEMPORARY (or equivalent terms)? ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionTask.java <https://reviews.apache.org/r/26854/#comment99013> Why was this check removed? If you are permanent UDFs with Hive CLI, you would have to make sure the UDF resources are available from the cluster as opposed to just on the local filesystem of the client that created the UDF. ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java <https://reviews.apache.org/r/26854/#comment98987> I thought builtin functions aren't allowed to be removed? Does this mean that we could create a function using the same class as a built-in function (create a synonym), and deleting this new function will cause this class to be removed from the builtin set? ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java <https://reviews.apache.org/r/26854/#comment99016> There is no longer a way to query the metastore for UDFs apart from the static initialization. So if one CLI user creates a permanent UDF, another user on CLI, or HS2, will not be able to use that new UDF if the 2nd CLI or HS2 was initialized before this UDF was created. ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java <https://reviews.apache.org/r/26854/#comment99009> I think I see what you're trying do here, trying to add a mechanism so that if a function is deleted in one session, the other sessions will also see it as discarded if they try to look it up. But I don't actually see discarded being set to true. ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java <https://reviews.apache.org/r/26854/#comment98860> I don't think it's necessary to pre-emptively query the metastore for permanent UDFs during initialization. If we have user on Hive CLI, we will automatically lookup metastore/download UDF resources, when they may not even be using any of these UDFs during their session. How about we keep the existing behavior that we only look them up when they are used during a query? Also, if we are doing this during static initialization, is Hive be in a state that it can query the metastore? Not sure if there is any other initialization that may need to take place beforehand. - Jason Dere On Oct. 23, 2014, 12:20 a.m., Jason Dere wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/26854/ > ----------------------------------------------------------- > > (Updated Oct. 23, 2014, 12:20 a.m.) > > > Review request for hive, Navis Ryu and Thejas Nair. > > > Bugs: HIVE-2573 > https://issues.apache.org/jira/browse/HIVE-2573 > > > Repository: hive-git > > > Description > ------- > > Small updates to Navis' changes: > - session registry doesn't lookup metastore for UDFs > - my feedback from Navis' original patch > - metastore udfs should not be considered native. This allows them to be > added/removed from registry > > > Diffs > ----- > > ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java 9ac540e > ql/src/java/org/apache/hadoop/hive/ql/exec/CommonFunctionInfo.java 93c15c0 > ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionInfo.java 074255b > ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 08e1136 > ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionTask.java 569c125 > ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java PRE-CREATION > ql/src/java/org/apache/hadoop/hive/ql/exec/WindowFunctionInfo.java efecb05 > ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java b900627 > > ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/SqlFunctionConverter.java > 31f906a > ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java > e43d39f > ql/src/java/org/apache/hadoop/hive/ql/parse/FunctionSemanticAnalyzer.java > 22e5b47 > ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java af633cb > ql/src/test/org/apache/hadoop/hive/ql/parse/TestMacroSemanticAnalyzer.java > 46f8052 > ql/src/test/queries/clientnegative/drop_native_udf.q ae047bb > ql/src/test/results/clientnegative/create_function_nonexistent_class.q.out > c7405ed > ql/src/test/results/clientnegative/create_function_nonudf_class.q.out > d0dd50a > ql/src/test/results/clientnegative/drop_native_udf.q.out 9f0eaa5 > service/src/test/org/apache/hadoop/hive/service/TestHiveServerSessions.java > fd38907 > > Diff: https://reviews.apache.org/r/26854/diff/ > > > Testing > ------- > > > Thanks, > > Jason Dere > >