You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2022/02/28 06:21:59 UTC
[dolphinscheduler-website] branch asf-site updated: Automated deployment: 1e63859d1742d15f0a8af6409926bb2004b45136
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 139d12e Automated deployment: 1e63859d1742d15f0a8af6409926bb2004b45136
139d12e is described below
commit 139d12e828cbdbdd04ccbbf57bb4febcbd23f27b
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Mon Feb 28 06:21:51 2022 +0000
Automated deployment: 1e63859d1742d15f0a8af6409926bb2004b45136
---
en-us/docs/release/faq.html | 83 +++++++++++++++++++++++++++++++++++++++++++
en-us/docs/release/faq.json | 2 +-
zh-cn/docs/release/faq.html | 85 ++++++++++++++++++++++++++++++++++++++++++++-
zh-cn/docs/release/faq.json | 2 +-
4 files changed, 169 insertions(+), 3 deletions(-)
diff --git a/en-us/docs/release/faq.html b/en-us/docs/release/faq.html
index f864f06..bbfb273 100644
--- a/en-us/docs/release/faq.html
+++ b/en-us/docs/release/faq.html
@@ -426,6 +426,89 @@ sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
</li>
</ol>
<hr>
+<h2>Q:Update process definition error: Duplicate key TaskDefinition</h2>
+<p>A:Before DS 2.0.4, there may be a problem of duplicate keys TaskDefinition due to version switching, which may cause the update workflow to fail; you can refer to the following SQL to delete duplicate data, taking MySQL as an example: (Note: Before operating, be sure to back up the original data, the SQL from pr<a href="https://github.com/apache/dolphinscheduler/pull/8408">#8408</a>)</p>
+<pre><code class="language-SQL"><span class="hljs-keyword">DELETE</span> <span class="hljs-keyword">FROM</span> t_ds_process_task_relation_log <span class="hljs-keyword">WHERE</span> id <span class="hljs-keyword">IN</span>
+(
+ <span class="hljs-keyword">SELECT</span>
+ x.id
+ <span class="hljs-keyword">FROM</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ aa.id
+ <span class="hljs-keyword">FROM</span>
+ t_ds_process_task_relation_log aa
+ <span class="hljs-keyword">JOIN</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ a.process_definition_code
+ ,<span class="hljs-built_in">MAX</span>(a.id) <span class="hljs-keyword">as</span> min_id
+ ,a.pre_task_code
+ ,a.pre_task_version
+ ,a.post_task_code
+ ,a.post_task_version
+ ,a.process_definition_version
+ ,<span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) cnt
+ <span class="hljs-keyword">FROM</span>
+ t_ds_process_task_relation_log a
+ <span class="hljs-keyword">JOIN</span> (
+ <span class="hljs-keyword">SELECT</span>
+ code
+ <span class="hljs-keyword">FROM</span>
+ t_ds_process_definition
+ <span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> code
+ )b <span class="hljs-keyword">ON</span> b.code <span class="hljs-operator">=</span> a.process_definition_code
+ <span class="hljs-keyword">WHERE</span> <span class="hljs-number">1</span><span class="hljs-operator">=</span><span class="hljs-number">1</span>
+ <span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> a.pre_task_code
+ ,a.post_task_code
+ ,a.pre_task_version
+ ,a.post_task_version
+ ,a.process_definition_code
+ ,a.process_definition_version
+ <span class="hljs-keyword">HAVING</span> <span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) <span class="hljs-operator">></span> <span class="hljs-number">1</span>
+ )bb <span class="hljs-keyword">ON</span> bb.process_definition_code <span class="hljs-operator">=</span> aa.process_definition_code
+ <span class="hljs-keyword">AND</span> bb.pre_task_code <span class="hljs-operator">=</span> aa.pre_task_code
+ <span class="hljs-keyword">AND</span> bb.post_task_code <span class="hljs-operator">=</span> aa.post_task_code
+ <span class="hljs-keyword">AND</span> bb.process_definition_version <span class="hljs-operator">=</span> aa.process_definition_version
+ <span class="hljs-keyword">AND</span> bb.pre_task_version <span class="hljs-operator">=</span> aa.pre_task_version
+ <span class="hljs-keyword">AND</span> bb.post_task_version <span class="hljs-operator">=</span> aa.post_task_version
+ <span class="hljs-keyword">AND</span> bb.min_id <span class="hljs-operator">!=</span> aa.id
+ )x
+)
+;
+
+<span class="hljs-keyword">DELETE</span> <span class="hljs-keyword">FROM</span> t_ds_task_definition_log <span class="hljs-keyword">WHERE</span> id <span class="hljs-keyword">IN</span>
+(
+ <span class="hljs-keyword">SELECT</span>
+ x.id
+ <span class="hljs-keyword">FROM</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ a.id
+ <span class="hljs-keyword">FROM</span>
+ t_ds_task_definition_log a
+ <span class="hljs-keyword">JOIN</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ code
+ ,name
+ ,version
+ ,<span class="hljs-built_in">MAX</span>(id) <span class="hljs-keyword">AS</span> min_id
+ <span class="hljs-keyword">FROM</span>
+ t_ds_task_definition_log
+ <span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> code
+ ,name
+ ,version
+ <span class="hljs-keyword">HAVING</span> <span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) <span class="hljs-operator">></span> <span class="hljs-number">1</span>
+ )b <span class="hljs-keyword">ON</span> b.code <span class="hljs-operator">=</span> a.code
+ <span class="hljs-keyword">AND</span> b.name <span class="hljs-operator">=</span> a.name
+ <span class="hljs-keyword">AND</span> b.version <span class="hljs-operator">=</span> a.version
+ <span class="hljs-keyword">AND</span> b.min_id <span class="hljs-operator">!=</span> a.id
+ )x
+)
+;
+</code></pre>
+<hr>
<h2>We will collect more FAQ later</h2>
</div></section><footer class="footer-container"><div class="footer-body"><div><h3>About us</h3><h4>Do you need feedback? Please contact us through the following ways.</h4></div><div class="contact-container"><ul><li><a href="/en-us/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>Email List</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png [...]
<script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
diff --git a/en-us/docs/release/faq.json b/en-us/docs/release/faq.json
index 6d0e83e..9eca2df 100644
--- a/en-us/docs/release/faq.json
+++ b/en-us/docs/release/faq.json
@@ -1,6 +1,6 @@
{
"filename": "faq.md",
- "__html": "<!-- markdown-link-check-disable -->\n<h2>Q: What's the name of this project?</h2>\n<p>A: DolphinScheduler</p>\n<hr>\n<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>Mainly responsible for DAG segm [...]
+ "__html": "<!-- markdown-link-check-disable -->\n<h2>Q: What's the name of this project?</h2>\n<p>A: DolphinScheduler</p>\n<hr>\n<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>Mainly responsible for DAG segm [...]
"link": "/dist/en-us/docs/release/faq.html",
"meta": {}
}
\ No newline at end of file
diff --git a/zh-cn/docs/release/faq.html b/zh-cn/docs/release/faq.html
index 85005d7..474c099 100644
--- a/zh-cn/docs/release/faq.html
+++ b/zh-cn/docs/release/faq.html
@@ -189,7 +189,7 @@
<h2>Q:如何增加一台工作服务器</h2>
<p>A: 1,参考官网<a href="https://dolphinscheduler.apache.org/zh-cn/docs/laster/user_doc/installation/cluster.html">部署文档</a> 1.3 小节,创建部署用户和 hosts 映射</p>
<p> 2,参考官网<a href="https://dolphinscheduler.apache.org/zh-cn/docs/laster/user_doc/installation/cluster.html">部署文档</a> 1.4 小节,配置 hosts 映射和 ssh 打通及修改目录权限.
-1.4 小节的最后一步是在当前新增机器上执行的,即需要给部署目录部署用户的权限</p>
+ 1.4 小节的最后一步是在当前新增机器上执行的,即需要给部署目录部署用户的权限</p>
<p> 3,复制正在运行的服务器上的部署目录到新机器的同样的部署目录下</p>
<p> 4,到 bin 下,启动 worker server 和 logger server</p>
<pre><code> ./dolphinscheduler-daemon.sh start worker-server
@@ -411,6 +411,89 @@ sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
</li>
</ol>
<hr>
+<h2>Q:Update process definition error: Duplicate key TaskDefinition</h2>
+<p>A:在DS 2.0.4之前,可能存在版本切换的重复键问题,导致更新工作流失败;可参考如下SQL进行重复数据的删除,以MySQL为例:(注意:操作前请务必备份原数据,SQL来源于pr <a href="https://github.com/apache/dolphinscheduler/pull/8408">#8408</a>)</p>
+<pre><code class="language-SQL"><span class="hljs-keyword">DELETE</span> <span class="hljs-keyword">FROM</span> t_ds_process_task_relation_log <span class="hljs-keyword">WHERE</span> id <span class="hljs-keyword">IN</span>
+(
+ <span class="hljs-keyword">SELECT</span>
+ x.id
+ <span class="hljs-keyword">FROM</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ aa.id
+ <span class="hljs-keyword">FROM</span>
+ t_ds_process_task_relation_log aa
+ <span class="hljs-keyword">JOIN</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ a.process_definition_code
+ ,<span class="hljs-built_in">MAX</span>(a.id) <span class="hljs-keyword">as</span> min_id
+ ,a.pre_task_code
+ ,a.pre_task_version
+ ,a.post_task_code
+ ,a.post_task_version
+ ,a.process_definition_version
+ ,<span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) cnt
+ <span class="hljs-keyword">FROM</span>
+ t_ds_process_task_relation_log a
+ <span class="hljs-keyword">JOIN</span> (
+ <span class="hljs-keyword">SELECT</span>
+ code
+ <span class="hljs-keyword">FROM</span>
+ t_ds_process_definition
+ <span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> code
+ )b <span class="hljs-keyword">ON</span> b.code <span class="hljs-operator">=</span> a.process_definition_code
+ <span class="hljs-keyword">WHERE</span> <span class="hljs-number">1</span><span class="hljs-operator">=</span><span class="hljs-number">1</span>
+ <span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> a.pre_task_code
+ ,a.post_task_code
+ ,a.pre_task_version
+ ,a.post_task_version
+ ,a.process_definition_code
+ ,a.process_definition_version
+ <span class="hljs-keyword">HAVING</span> <span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) <span class="hljs-operator">></span> <span class="hljs-number">1</span>
+ )bb <span class="hljs-keyword">ON</span> bb.process_definition_code <span class="hljs-operator">=</span> aa.process_definition_code
+ <span class="hljs-keyword">AND</span> bb.pre_task_code <span class="hljs-operator">=</span> aa.pre_task_code
+ <span class="hljs-keyword">AND</span> bb.post_task_code <span class="hljs-operator">=</span> aa.post_task_code
+ <span class="hljs-keyword">AND</span> bb.process_definition_version <span class="hljs-operator">=</span> aa.process_definition_version
+ <span class="hljs-keyword">AND</span> bb.pre_task_version <span class="hljs-operator">=</span> aa.pre_task_version
+ <span class="hljs-keyword">AND</span> bb.post_task_version <span class="hljs-operator">=</span> aa.post_task_version
+ <span class="hljs-keyword">AND</span> bb.min_id <span class="hljs-operator">!=</span> aa.id
+ )x
+)
+;
+
+<span class="hljs-keyword">DELETE</span> <span class="hljs-keyword">FROM</span> t_ds_task_definition_log <span class="hljs-keyword">WHERE</span> id <span class="hljs-keyword">IN</span>
+(
+ <span class="hljs-keyword">SELECT</span>
+ x.id
+ <span class="hljs-keyword">FROM</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ a.id
+ <span class="hljs-keyword">FROM</span>
+ t_ds_task_definition_log a
+ <span class="hljs-keyword">JOIN</span>
+ (
+ <span class="hljs-keyword">SELECT</span>
+ code
+ ,name
+ ,version
+ ,<span class="hljs-built_in">MAX</span>(id) <span class="hljs-keyword">AS</span> min_id
+ <span class="hljs-keyword">FROM</span>
+ t_ds_task_definition_log
+ <span class="hljs-keyword">GROUP</span> <span class="hljs-keyword">BY</span> code
+ ,name
+ ,version
+ <span class="hljs-keyword">HAVING</span> <span class="hljs-built_in">COUNT</span>(<span class="hljs-operator">*</span>) <span class="hljs-operator">></span> <span class="hljs-number">1</span>
+ )b <span class="hljs-keyword">ON</span> b.code <span class="hljs-operator">=</span> a.code
+ <span class="hljs-keyword">AND</span> b.name <span class="hljs-operator">=</span> a.name
+ <span class="hljs-keyword">AND</span> b.version <span class="hljs-operator">=</span> a.version
+ <span class="hljs-keyword">AND</span> b.min_id <span class="hljs-operator">!=</span> a.id
+ )x
+)
+;
+</code></pre>
+<hr>
<p>我们会持续收集更多的 FAQ。</p>
</div></section><footer class="footer-container"><div class="footer-body"><div><h3>联系我们</h3><h4>有问题需要反馈?请通过以下方式联系我们。</h4></div><div class="contact-container"><ul><li><a href="/zh-cn/community/development/subscribe.html"><img class="img-base" src="/img/emailgray.png"/><img class="img-change" src="/img/emailblue.png"/><p>邮件列表</p></a></li><li><a href="https://twitter.com/dolphinschedule"><img class="img-base" src="/img/twittergray.png"/><img class="img-change" src="/img/twitterblue.png"/><p [...]
<script src="//cdn.jsdelivr.net/npm/react@15.6.2/dist/react-with-addons.min.js"></script>
diff --git a/zh-cn/docs/release/faq.json b/zh-cn/docs/release/faq.json
index 6621dab..ff66ad8 100644
--- a/zh-cn/docs/release/faq.json
+++ b/zh-cn/docs/release/faq.json
@@ -1,6 +1,6 @@
{
"filename": "faq.md",
- "__html": "<!-- markdown-link-check-disable -->\n<h2>Q:项目的名称是?</h2>\n<p>A:DolphinScheduler</p>\n<hr>\n<h2>Q:DolphinScheduler 服务介绍及建议运行内存</h2>\n<p>A:DolphinScheduler 由 5 个服务组成,MasterServer、WorkerServer、ApiServer、AlertServer、LoggerServer 和 UI。</p>\n<table>\n<thead>\n<tr>\n<th>服务</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>主要负责 <strong>DAG</strong> 的切分和任务状态的监控</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>主要负责任务的提交、执行和任务状态的更新。LoggerServer 用于 [...]
+ "__html": "<!-- markdown-link-check-disable -->\n<h2>Q:项目的名称是?</h2>\n<p>A:DolphinScheduler</p>\n<hr>\n<h2>Q:DolphinScheduler 服务介绍及建议运行内存</h2>\n<p>A:DolphinScheduler 由 5 个服务组成,MasterServer、WorkerServer、ApiServer、AlertServer、LoggerServer 和 UI。</p>\n<table>\n<thead>\n<tr>\n<th>服务</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>主要负责 <strong>DAG</strong> 的切分和任务状态的监控</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>主要负责任务的提交、执行和任务状态的更新。LoggerServer 用于 [...]
"link": "/dist/zh-cn/docs/release/faq.html",
"meta": {}
}
\ No newline at end of file