Github user ppadma commented on a diff in the pull request: https://github.com/apache/drill/pull/757#discussion_r103285068 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java --- @@ -413,4 +413,8 @@ String DYNAMIC_UDF_SUPPORT_ENABLED = "exec.udf.enable_dynamic_support"; BooleanValidator DYNAMIC_UDF_SUPPORT_ENABLED_VALIDATOR = new BooleanValidator(DYNAMIC_UDF_SUPPORT_ENABLED, true, true); + + String USE_DYNAMIC_UDFS = "exec.udf.use_dynamic"; --- End diff -- ok, we need to use readWriteLocks if we update the table each time a function gets added/removed. That is unnecessary overhead and will cause contention with concurrency. One option is to split the table into two, one for built-in functions (which can be accessed without locks) and other for dynamic functions. That will be a bigger change and like I mentioned before, is not considered worth the effort.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---