[ https://issues.apache.org/jira/browse/DRILL-4726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15471995#comment-15471995 ]
ASF GitHub Bot commented on DRILL-4726: --------------------------------------- Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/574#discussion_r77917007 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/coord/zk/ZookeeperClient.java --- @@ -179,6 +220,22 @@ public void create(final String path) { * @param data data to store */ public void put(final String path, final byte[] data) { + put(path, data, null); + } + + /** + * Puts the given byte sequence into the given path. + * + * If path does not exists, this call creates it. + * + * If version holder is not null, passes given version for comparison. + * Throws {@link VersionMismatchException} if versions mismatch was detected. --- End diff -- Perhaps explain this a bit more. One way to do this is to point to the ZooKeeper docs: https://zookeeper.apache.org/doc/r3.2.2/zookeeperProgrammers.html#sc_zkDataModel_znodes Explain how we use the version number to ensure we write only the version we read. Then, when using this in the UDF registration stuff, explain how we use that model to ensure consistency. I didn't see a try/fail/retry loop when registering udfs, but perhaps I missed it. Using this ZK mechanism, seems we would read & write until we get a conflict-free write. On each read, we'd recheck that our new udf is still unique. Is this what we do? > Dynamic UDFs support > -------------------- > > Key: DRILL-4726 > URL: https://issues.apache.org/jira/browse/DRILL-4726 > Project: Apache Drill > Issue Type: New Feature > Affects Versions: 1.6.0 > Reporter: Arina Ielchiieva > Assignee: Arina Ielchiieva > Fix For: Future > > > Allow register UDFs without restart of Drillbits. > Design is described in document below: > https://docs.google.com/document/d/1FfyJtWae5TLuyheHCfldYUpCdeIezR2RlNsrOTYyAB4/edit?usp=sharing > -- This message was sent by Atlassian JIRA (v6.3.4#6332)