[
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)