[ https://issues.apache.org/jira/browse/DRILL-5044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15702751#comment-15702751 ]
ASF GitHub Bot commented on DRILL-5044: --------------------------------------- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/669#discussion_r89848150 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/CreateFunctionHandler.java --- @@ -175,22 +175,20 @@ private void initRemoteRegistration(List<String> functions, List<Jar> remoteJars = remoteRegistry.getRegistry(version).getJarList(); validateAgainstRemoteRegistry(remoteJars, jarManager.getBinaryName(), functions); jarManager.copyToRegistryArea(); - boolean cleanUp = true; List<Jar> jars = Lists.newArrayList(remoteJars); jars.add(Jar.newBuilder().setName(jarManager.getBinaryName()).addAllFunctionSignature(functions).build()); Registry updatedRegistry = Registry.newBuilder().addAllJar(jars).build(); try { remoteRegistry.updateRegistry(updatedRegistry, version); - cleanUp = false; } catch (VersionMismatchException ex) { + jarManager.deleteQuietlyFromRegistryArea(); if (retryAttempts-- == 0) { throw new DrillRuntimeException("Failed to update remote function registry. Exceeded retry attempts limit."); } initRemoteRegistration(functions, jarManager, remoteRegistry, retryAttempts); - } finally { - if (cleanUp) { - jarManager.deleteQuietlyFromRegistryArea(); - } + } catch (Exception e) { --- End diff -- Since recursion is used on retry, won't we end up deleting the jar multiple times? No harm, but seems odd... > After the dynamic registration of multiple jars simultaneously not all UDFs > were registered > ------------------------------------------------------------------------------------------- > > Key: DRILL-5044 > URL: https://issues.apache.org/jira/browse/DRILL-5044 > Project: Apache Drill > Issue Type: Bug > Components: Functions - Drill > Affects Versions: 1.9.0 > Reporter: Roman > Assignee: Paul Rogers > > I tried to register 21 jars simultaneously (property 'udf.retry-attempts' = > 30) and not all jars were registered. As I see in output, all function were > registered and /staging directory was empty, but not all of jars were moved > into /registry directory. > For example, after simultaneously registration I saw "The following UDFs in > jar test-1.1.jar have been registered: [test1(VARCHAR-REQUIRED)" message, but > this jar was not in /registry directory. When I tried to run function test1, > I got this error: "Error: SYSTEM ERROR: SqlValidatorException: No match found > for function signature test1(<CHARACTER>)". And when I tried to reregister > this jar, I got "Jar with test-1.1.jar name has been already registered". -- This message was sent by Atlassian JIRA (v6.3.4#6332)