Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liyuanzhong001
DolphinScheduler
提交
7949b672
DolphinScheduler
项目概览
liyuanzhong001
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
7949b672
编写于
7月 13, 2020
作者:
B
BoYiZhang
提交者:
GitHub
7月 13, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1 from apache/dev
update code
上级
4fc81445
6d43c21d
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
77 addition
and
52 deletion
+77
-52
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/manager/EmailManager.java
...g/apache/dolphinscheduler/alert/manager/EmailManager.java
+8
-7
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPlugin.java
...pache/dolphinscheduler/alert/plugin/EmailAlertPlugin.java
+7
-7
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/runner/AlertSender.java
...org/apache/dolphinscheduler/alert/runner/AlertSender.java
+5
-5
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
...in/java/org/apache/dolphinscheduler/api/enums/Status.java
+1
-1
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TenantService.java
...rg/apache/dolphinscheduler/api/service/TenantService.java
+3
-3
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/TenantControllerTest.java
...dolphinscheduler/api/controller/TenantControllerTest.java
+16
-0
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TenantServiceTest.java
...pache/dolphinscheduler/api/service/TenantServiceTest.java
+20
-10
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/flink/FlinkParameters.java
...e/dolphinscheduler/common/task/flink/FlinkParameters.java
+1
-4
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManager.java
...olphinscheduler/server/registry/ZookeeperNodeManager.java
+0
-6
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java
...ache/dolphinscheduler/server/worker/task/sql/SqlTask.java
+9
-7
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue
...rc/js/conf/home/pages/dag/_source/formModel/formModel.vue
+7
-2
未找到文件。
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/manager/EmailManager.java
浏览文件 @
7949b672
...
@@ -27,28 +27,29 @@ import java.util.Map;
...
@@ -27,28 +27,29 @@ import java.util.Map;
public
class
EmailManager
{
public
class
EmailManager
{
/**
/**
* email send
* email send
* @param rece
vi
ersList the receiver list
* @param rece
iv
ersList the receiver list
* @param rece
vi
ersCcList the cc List
* @param rece
iv
ersCcList the cc List
* @param title the title
* @param title the title
* @param content the content
* @param content the content
* @param showType the showType
* @param showType the showType
* @return the send result
* @return the send result
*/
*/
public
Map
<
String
,
Object
>
send
(
List
<
String
>
rece
viersList
,
List
<
String
>
recevi
ersCcList
,
String
title
,
String
content
,
String
showType
){
public
Map
<
String
,
Object
>
send
(
List
<
String
>
rece
iversList
,
List
<
String
>
receiv
ersCcList
,
String
title
,
String
content
,
String
showType
){
return
MailUtils
.
sendMails
(
rece
viersList
,
recevi
ersCcList
,
title
,
content
,
showType
);
return
MailUtils
.
sendMails
(
rece
iversList
,
receiv
ersCcList
,
title
,
content
,
showType
);
}
}
/**
/**
* msg send
* msg send
* @param rece
vi
ersList the receiver list
* @param rece
iv
ersList the receiver list
* @param title the title
* @param title the title
* @param content the content
* @param content the content
* @param showType the showType
* @param showType the showType
* @return the send result
* @return the send result
*/
*/
public
Map
<
String
,
Object
>
send
(
List
<
String
>
rece
vi
ersList
,
String
title
,
String
content
,
String
showType
){
public
Map
<
String
,
Object
>
send
(
List
<
String
>
rece
iv
ersList
,
String
title
,
String
content
,
String
showType
){
return
MailUtils
.
sendMails
(
rece
vi
ersList
,
title
,
content
,
showType
);
return
MailUtils
.
sendMails
(
rece
iv
ersList
,
title
,
content
,
showType
);
}
}
}
}
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPlugin.java
浏览文件 @
7949b672
...
@@ -71,32 +71,32 @@ public class EmailAlertPlugin implements AlertPlugin {
...
@@ -71,32 +71,32 @@ public class EmailAlertPlugin implements AlertPlugin {
AlertData
alert
=
info
.
getAlertData
();
AlertData
alert
=
info
.
getAlertData
();
List
<
String
>
rece
vi
ersList
=
(
List
<
String
>)
info
.
getProp
(
Constants
.
PLUGIN_DEFAULT_EMAIL_RECEIVERS
);
List
<
String
>
rece
iv
ersList
=
(
List
<
String
>)
info
.
getProp
(
Constants
.
PLUGIN_DEFAULT_EMAIL_RECEIVERS
);
// receiving group list
// receiving group list
// custom receiver
// custom receiver
String
receivers
=
alert
.
getReceivers
();
String
receivers
=
alert
.
getReceivers
();
if
(
StringUtils
.
isNotEmpty
(
receivers
))
{
if
(
StringUtils
.
isNotEmpty
(
receivers
))
{
String
[]
splits
=
receivers
.
split
(
","
);
String
[]
splits
=
receivers
.
split
(
","
);
rece
vi
ersList
.
addAll
(
Arrays
.
asList
(
splits
));
rece
iv
ersList
.
addAll
(
Arrays
.
asList
(
splits
));
}
}
List
<
String
>
rece
vi
ersCcList
=
new
ArrayList
<>();
List
<
String
>
rece
iv
ersCcList
=
new
ArrayList
<>();
// Custom Copier
// Custom Copier
String
receiversCc
=
alert
.
getReceiversCc
();
String
receiversCc
=
alert
.
getReceiversCc
();
if
(
StringUtils
.
isNotEmpty
(
receiversCc
))
{
if
(
StringUtils
.
isNotEmpty
(
receiversCc
))
{
String
[]
splits
=
receiversCc
.
split
(
","
);
String
[]
splits
=
receiversCc
.
split
(
","
);
rece
vi
ersCcList
.
addAll
(
Arrays
.
asList
(
splits
));
rece
iv
ersCcList
.
addAll
(
Arrays
.
asList
(
splits
));
}
}
if
(
CollectionUtils
.
isEmpty
(
rece
viersList
)
&&
CollectionUtils
.
isEmpty
(
recevi
ersCcList
))
{
if
(
CollectionUtils
.
isEmpty
(
rece
iversList
)
&&
CollectionUtils
.
isEmpty
(
receiv
ersCcList
))
{
logger
.
warn
(
"alert send error : At least one receiver address required"
);
logger
.
warn
(
"alert send error : At least one receiver address required"
);
retMaps
.
put
(
Constants
.
STATUS
,
"false"
);
retMaps
.
put
(
Constants
.
STATUS
,
"false"
);
retMaps
.
put
(
Constants
.
MESSAGE
,
"execution failure,At least one receiver address required."
);
retMaps
.
put
(
Constants
.
MESSAGE
,
"execution failure,At least one receiver address required."
);
return
retMaps
;
return
retMaps
;
}
}
retMaps
=
emailManager
.
send
(
rece
viersList
,
recevi
ersCcList
,
alert
.
getTitle
(),
alert
.
getContent
(),
retMaps
=
emailManager
.
send
(
rece
iversList
,
receiv
ersCcList
,
alert
.
getTitle
(),
alert
.
getContent
(),
alert
.
getShowType
());
alert
.
getShowType
());
//send flag
//send flag
...
@@ -124,7 +124,7 @@ public class EmailAlertPlugin implements AlertPlugin {
...
@@ -124,7 +124,7 @@ public class EmailAlertPlugin implements AlertPlugin {
logger
.
error
(
e
.
getMessage
(),
e
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
}
}
if
(
DingTalkUtils
.
isEnableDingTalk
)
{
if
(
DingTalkUtils
.
isEnableDingTalk
)
{
logger
.
info
(
"Ding Talk is enable."
);
logger
.
info
(
"Ding Talk is enable."
);
dingTalkManager
.
send
(
info
);
dingTalkManager
.
send
(
info
);
...
...
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/runner/AlertSender.java
浏览文件 @
7949b672
...
@@ -60,9 +60,9 @@ public class AlertSender {
...
@@ -60,9 +60,9 @@ public class AlertSender {
users
=
alertDao
.
listUserByAlertgroupId
(
alert
.
getAlertGroupId
());
users
=
alertDao
.
listUserByAlertgroupId
(
alert
.
getAlertGroupId
());
// receiving group list
// receiving group list
List
<
String
>
rece
vi
ersList
=
new
ArrayList
<>();
List
<
String
>
rece
iv
ersList
=
new
ArrayList
<>();
for
(
User
user
:
users
)
{
for
(
User
user
:
users
)
{
rece
vi
ersList
.
add
(
user
.
getEmail
());
rece
iv
ersList
.
add
(
user
.
getEmail
());
}
}
AlertData
alertData
=
new
AlertData
();
AlertData
alertData
=
new
AlertData
();
...
@@ -78,17 +78,17 @@ public class AlertSender {
...
@@ -78,17 +78,17 @@ public class AlertSender {
AlertInfo
alertInfo
=
new
AlertInfo
();
AlertInfo
alertInfo
=
new
AlertInfo
();
alertInfo
.
setAlertData
(
alertData
);
alertInfo
.
setAlertData
(
alertData
);
alertInfo
.
addProp
(
"receivers"
,
rece
vi
ersList
);
alertInfo
.
addProp
(
"receivers"
,
rece
iv
ersList
);
AlertPlugin
emailPlugin
=
pluginManager
.
findOne
(
Constants
.
PLUGIN_DEFAULT_EMAIL_ID
);
AlertPlugin
emailPlugin
=
pluginManager
.
findOne
(
Constants
.
PLUGIN_DEFAULT_EMAIL_ID
);
retMaps
=
emailPlugin
.
process
(
alertInfo
);
retMaps
=
emailPlugin
.
process
(
alertInfo
);
if
(
retMaps
==
null
)
{
if
(
retMaps
==
null
)
{
alertDao
.
updateAlert
(
AlertStatus
.
EXECUTION_FAILURE
,
"alert send error"
,
alert
.
getId
());
alertDao
.
updateAlert
(
AlertStatus
.
EXECUTION_FAILURE
,
"alert send error"
,
alert
.
getId
());
logger
.
info
(
"alert send error : return value is null"
);
logger
.
error
(
"alert send error : return value is null"
);
}
else
if
(!
Boolean
.
parseBoolean
(
String
.
valueOf
(
retMaps
.
get
(
Constants
.
STATUS
))))
{
}
else
if
(!
Boolean
.
parseBoolean
(
String
.
valueOf
(
retMaps
.
get
(
Constants
.
STATUS
))))
{
alertDao
.
updateAlert
(
AlertStatus
.
EXECUTION_FAILURE
,
String
.
valueOf
(
retMaps
.
get
(
Constants
.
MESSAGE
)),
alert
.
getId
());
alertDao
.
updateAlert
(
AlertStatus
.
EXECUTION_FAILURE
,
String
.
valueOf
(
retMaps
.
get
(
Constants
.
MESSAGE
)),
alert
.
getId
());
logger
.
info
(
"alert send error : {}"
,
retMaps
.
get
(
Constants
.
MESSAGE
));
logger
.
error
(
"alert send error : {}"
,
retMaps
.
get
(
Constants
.
MESSAGE
));
}
else
{
}
else
{
alertDao
.
updateAlert
(
AlertStatus
.
EXECUTION_SUCCESS
,
(
String
)
retMaps
.
get
(
Constants
.
MESSAGE
),
alert
.
getId
());
alertDao
.
updateAlert
(
AlertStatus
.
EXECUTION_SUCCESS
,
(
String
)
retMaps
.
get
(
Constants
.
MESSAGE
),
alert
.
getId
());
logger
.
info
(
"alert send success"
);
logger
.
info
(
"alert send success"
);
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
浏览文件 @
7949b672
...
@@ -35,7 +35,7 @@ public enum Status {
...
@@ -35,7 +35,7 @@ public enum Status {
USER_NAME_NULL
(
10004
,
"user name is null"
,
"用户名不能为空"
),
USER_NAME_NULL
(
10004
,
"user name is null"
,
"用户名不能为空"
),
HDFS_OPERATION_ERROR
(
10006
,
"hdfs operation error"
,
"hdfs操作错误"
),
HDFS_OPERATION_ERROR
(
10006
,
"hdfs operation error"
,
"hdfs操作错误"
),
TASK_INSTANCE_NOT_FOUND
(
10008
,
"task instance not found"
,
"任务实例不存在"
),
TASK_INSTANCE_NOT_FOUND
(
10008
,
"task instance not found"
,
"任务实例不存在"
),
TENANT_NAME_EXIST
(
10009
,
"tenant code
already exists"
,
"租户编码不能为空
"
),
TENANT_NAME_EXIST
(
10009
,
"tenant code
{0} already exists"
,
"租户编码[{0}]已存在
"
),
USER_NOT_EXIST
(
10010
,
"user {0} not exists"
,
"用户[{0}]不存在"
),
USER_NOT_EXIST
(
10010
,
"user {0} not exists"
,
"用户[{0}]不存在"
),
ALERT_GROUP_NOT_EXIST
(
10011
,
"alarm group not found"
,
"告警组不存在"
),
ALERT_GROUP_NOT_EXIST
(
10011
,
"alarm group not found"
,
"告警组不存在"
),
ALERT_GROUP_EXIST
(
10012
,
"alarm group already exists"
,
"告警组名称已存在"
),
ALERT_GROUP_EXIST
(
10012
,
"alarm group already exists"
,
"告警组名称已存在"
),
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TenantService.java
浏览文件 @
7949b672
...
@@ -327,11 +327,11 @@ public class TenantService extends BaseService{
...
@@ -327,11 +327,11 @@ public class TenantService extends BaseService{
* @return true if tenant code can user, otherwise return false
* @return true if tenant code can user, otherwise return false
*/
*/
public
Result
verifyTenantCode
(
String
tenantCode
)
{
public
Result
verifyTenantCode
(
String
tenantCode
)
{
Result
result
=
new
Result
();
Result
result
=
new
Result
();
if
(
checkTenantExists
(
tenantCode
))
{
if
(
checkTenantExists
(
tenantCode
))
{
logger
.
error
(
"tenant {} has exist, can't create again."
,
tenantCode
);
logger
.
error
(
"tenant {} has exist, can't create again."
,
tenantCode
);
putMsg
(
result
,
Status
.
TENANT_NAME_EXIST
);
putMsg
(
result
,
Status
.
TENANT_NAME_EXIST
,
tenantCode
);
}
else
{
}
else
{
putMsg
(
result
,
Status
.
SUCCESS
);
putMsg
(
result
,
Status
.
SUCCESS
);
}
}
return
result
;
return
result
;
...
...
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/TenantControllerTest.java
浏览文件 @
7949b672
...
@@ -120,7 +120,23 @@ public class TenantControllerTest extends AbstractControllerTest{
...
@@ -120,7 +120,23 @@ public class TenantControllerTest extends AbstractControllerTest{
}
}
@Test
public
void
testVerifyTenantCodeExists
()
throws
Exception
{
MultiValueMap
<
String
,
String
>
paramsMap
=
new
LinkedMultiValueMap
<>();
paramsMap
.
add
(
"tenantCode"
,
"tenantCode"
);
MvcResult
mvcResult
=
mockMvc
.
perform
(
get
(
"/tenant/verify-tenant-code"
)
.
header
(
SESSION_ID
,
sessionId
)
.
params
(
paramsMap
))
.
andExpect
(
status
().
isOk
())
.
andExpect
(
content
().
contentType
(
MediaType
.
APPLICATION_JSON_UTF8
))
.
andReturn
();
Result
result
=
JSONUtils
.
parseObject
(
mvcResult
.
getResponse
().
getContentAsString
(),
Result
.
class
);
Assert
.
assertEquals
(
Status
.
TENANT_NAME_EXIST
.
getCode
(),
result
.
getCode
().
intValue
());
logger
.
info
(
mvcResult
.
getResponse
().
getContentAsString
());
}
@Test
@Test
public
void
testQueryTenantlist
()
throws
Exception
{
public
void
testQueryTenantlist
()
throws
Exception
{
...
...
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TenantServiceTest.java
浏览文件 @
7949b672
...
@@ -16,8 +16,11 @@
...
@@ -16,8 +16,11 @@
*/
*/
package
org.apache.dolphinscheduler.api.service
;
package
org.apache.dolphinscheduler.api.service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
java.util.ArrayList
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Map
;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.apache.dolphinscheduler.api.enums.Status
;
import
org.apache.dolphinscheduler.api.utils.PageInfo
;
import
org.apache.dolphinscheduler.api.utils.PageInfo
;
import
org.apache.dolphinscheduler.api.utils.Result
;
import
org.apache.dolphinscheduler.api.utils.Result
;
...
@@ -41,10 +44,10 @@ import org.mockito.Mockito;
...
@@ -41,10 +44,10 @@ import org.mockito.Mockito;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.context.i18n.LocaleContextHolder
;
import
java.util.ArrayList
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.Map
;
@RunWith
(
MockitoJUnitRunner
.
class
)
@RunWith
(
MockitoJUnitRunner
.
class
)
public
class
TenantServiceTest
{
public
class
TenantServiceTest
{
...
@@ -61,8 +64,8 @@ public class TenantServiceTest {
...
@@ -61,8 +64,8 @@ public class TenantServiceTest {
@Mock
@Mock
private
UserMapper
userMapper
;
private
UserMapper
userMapper
;
private
String
tenantCode
=
"TenantServiceTest"
;
private
String
tenantCode
=
"TenantServiceTest"
;
private
String
tenantName
=
"TenantServiceTest"
;
private
String
tenantName
=
"TenantServiceTest"
;
@Test
@Test
...
@@ -85,6 +88,7 @@ public class TenantServiceTest {
...
@@ -85,6 +88,7 @@ public class TenantServiceTest {
result
=
tenantService
.
createTenant
(
loginUser
,
"test"
,
"test"
,
1
,
"TenantServiceTest"
);
result
=
tenantService
.
createTenant
(
loginUser
,
"test"
,
"test"
,
1
,
"TenantServiceTest"
);
logger
.
info
(
result
.
toString
());
logger
.
info
(
result
.
toString
());
Assert
.
assertEquals
(
Status
.
SUCCESS
,
result
.
get
(
Constants
.
STATUS
));
Assert
.
assertEquals
(
Status
.
SUCCESS
,
result
.
get
(
Constants
.
STATUS
));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
error
(
"create tenant error"
,
e
);
logger
.
error
(
"create tenant error"
,
e
);
Assert
.
assertTrue
(
false
);
Assert
.
assertTrue
(
false
);
...
@@ -192,11 +196,17 @@ public class TenantServiceTest {
...
@@ -192,11 +196,17 @@ public class TenantServiceTest {
// tenantCode not exist
// tenantCode not exist
Result
result
=
tenantService
.
verifyTenantCode
(
"s00000000000l887888885554444sfjdskfjslakslkdf"
);
Result
result
=
tenantService
.
verifyTenantCode
(
"s00000000000l887888885554444sfjdskfjslakslkdf"
);
logger
.
info
(
result
.
toString
());
logger
.
info
(
result
.
toString
());
Assert
.
assertEquals
(
Status
.
SUCCESS
.
getMsg
(),
result
.
getMsg
());
Assert
.
assertEquals
(
Status
.
SUCCESS
.
getMsg
(),
result
.
getMsg
());
// tenantCode exist
// tenantCode exist
result
=
tenantService
.
verifyTenantCode
(
getTenant
().
getTenantCode
());
result
=
tenantService
.
verifyTenantCode
(
getTenant
().
getTenantCode
());
String
resultString
;
if
(
Locale
.
SIMPLIFIED_CHINESE
.
getLanguage
().
equals
(
LocaleContextHolder
.
getLocale
().
getLanguage
()))
{
resultString
=
"租户编码[TenantServiceTest]已存在"
;
}
else
{
resultString
=
"tenant code TenantServiceTest already exists"
;
}
logger
.
info
(
result
.
toString
());
logger
.
info
(
result
.
toString
());
Assert
.
assertEquals
(
Status
.
TENANT_NAME_EXIST
.
getMsg
(),
result
.
getMsg
());
Assert
.
assertEquals
(
resultString
,
result
.
getMsg
());
}
}
...
@@ -261,4 +271,4 @@ public class TenantServiceTest {
...
@@ -261,4 +271,4 @@ public class TenantServiceTest {
}
}
}
}
\ No newline at end of file
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/flink/FlinkParameters.java
浏览文件 @
7949b672
...
@@ -19,13 +19,12 @@ package org.apache.dolphinscheduler.common.task.flink;
...
@@ -19,13 +19,12 @@ package org.apache.dolphinscheduler.common.task.flink;
import
org.apache.dolphinscheduler.common.enums.ProgramType
;
import
org.apache.dolphinscheduler.common.enums.ProgramType
;
import
org.apache.dolphinscheduler.common.process.ResourceInfo
;
import
org.apache.dolphinscheduler.common.process.ResourceInfo
;
import
org.apache.dolphinscheduler.common.task.AbstractParameters
;
import
org.apache.dolphinscheduler.common.task.AbstractParameters
;
import
org.apache.dolphinscheduler.common.utils.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
*
spar
k parameters
*
flin
k parameters
*/
*/
public
class
FlinkParameters
extends
AbstractParameters
{
public
class
FlinkParameters
extends
AbstractParameters
{
...
@@ -226,6 +225,4 @@ public class FlinkParameters extends AbstractParameters {
...
@@ -226,6 +225,4 @@ public class FlinkParameters extends AbstractParameters {
}
}
return
resourceList
;
return
resourceList
;
}
}
}
}
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManager.java
浏览文件 @
7949b672
...
@@ -131,16 +131,12 @@ public class ZookeeperNodeManager implements InitializingBean {
...
@@ -131,16 +131,12 @@ public class ZookeeperNodeManager implements InitializingBean {
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_ADDED
)
{
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_ADDED
)
{
logger
.
info
(
"worker group node : {} added."
,
path
);
logger
.
info
(
"worker group node : {} added."
,
path
);
String
group
=
parseGroup
(
path
);
String
group
=
parseGroup
(
path
);
Set
<
String
>
workerNodes
=
workerGroupNodes
.
getOrDefault
(
group
,
new
HashSet
<>());
Set
<
String
>
previousNodes
=
new
HashSet
<>(
workerNodes
);
Set
<
String
>
currentNodes
=
registryCenter
.
getWorkerGroupNodesDirectly
(
group
);
Set
<
String
>
currentNodes
=
registryCenter
.
getWorkerGroupNodesDirectly
(
group
);
logger
.
info
(
"currentNodes : {}"
,
currentNodes
);
logger
.
info
(
"currentNodes : {}"
,
currentNodes
);
syncWorkerGroupNodes
(
group
,
currentNodes
);
syncWorkerGroupNodes
(
group
,
currentNodes
);
}
else
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_REMOVED
)
{
}
else
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_REMOVED
)
{
logger
.
info
(
"worker group node : {} down."
,
path
);
logger
.
info
(
"worker group node : {} down."
,
path
);
String
group
=
parseGroup
(
path
);
String
group
=
parseGroup
(
path
);
Set
<
String
>
workerNodes
=
workerGroupNodes
.
getOrDefault
(
group
,
new
HashSet
<>());
Set
<
String
>
previousNodes
=
new
HashSet
<>(
workerNodes
);
Set
<
String
>
currentNodes
=
registryCenter
.
getWorkerGroupNodesDirectly
(
group
);
Set
<
String
>
currentNodes
=
registryCenter
.
getWorkerGroupNodesDirectly
(
group
);
syncWorkerGroupNodes
(
group
,
currentNodes
);
syncWorkerGroupNodes
(
group
,
currentNodes
);
alertDao
.
sendServerStopedAlert
(
1
,
path
,
"WORKER"
);
alertDao
.
sendServerStopedAlert
(
1
,
path
,
"WORKER"
);
...
@@ -175,12 +171,10 @@ public class ZookeeperNodeManager implements InitializingBean {
...
@@ -175,12 +171,10 @@ public class ZookeeperNodeManager implements InitializingBean {
try
{
try
{
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_ADDED
)
{
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_ADDED
)
{
logger
.
info
(
"master node : {} added."
,
path
);
logger
.
info
(
"master node : {} added."
,
path
);
Set
<
String
>
previousNodes
=
new
HashSet
<>(
masterNodes
);
Set
<
String
>
currentNodes
=
registryCenter
.
getMasterNodesDirectly
();
Set
<
String
>
currentNodes
=
registryCenter
.
getMasterNodesDirectly
();
syncMasterNodes
(
currentNodes
);
syncMasterNodes
(
currentNodes
);
}
else
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_REMOVED
)
{
}
else
if
(
event
.
getType
()
==
TreeCacheEvent
.
Type
.
NODE_REMOVED
)
{
logger
.
info
(
"master node : {} down."
,
path
);
logger
.
info
(
"master node : {} down."
,
path
);
Set
<
String
>
previousNodes
=
new
HashSet
<>(
masterNodes
);
Set
<
String
>
currentNodes
=
registryCenter
.
getMasterNodesDirectly
();
Set
<
String
>
currentNodes
=
registryCenter
.
getMasterNodesDirectly
();
syncMasterNodes
(
currentNodes
);
syncMasterNodes
(
currentNodes
);
alertDao
.
sendServerStopedAlert
(
1
,
path
,
"MASTER"
);
alertDao
.
sendServerStopedAlert
(
1
,
path
,
"MASTER"
);
...
...
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java
浏览文件 @
7949b672
...
@@ -176,6 +176,7 @@ public class SqlTask extends AbstractTask {
...
@@ -176,6 +176,7 @@ public class SqlTask extends AbstractTask {
logger
.
info
(
"SQL title : {}"
,
title
);
logger
.
info
(
"SQL title : {}"
,
title
);
sqlParameters
.
setTitle
(
title
);
sqlParameters
.
setTitle
(
title
);
}
}
//new
//new
//replace variable TIME with $[YYYYmmddd...] in sql when history run job and batch complement job
//replace variable TIME with $[YYYYmmddd...] in sql when history run job and batch complement job
sql
=
ParameterUtils
.
replaceScheduleTime
(
sql
,
taskExecutionContext
.
getScheduleTime
());
sql
=
ParameterUtils
.
replaceScheduleTime
(
sql
,
taskExecutionContext
.
getScheduleTime
());
...
@@ -324,6 +325,7 @@ public class SqlTask extends AbstractTask {
...
@@ -324,6 +325,7 @@ public class SqlTask extends AbstractTask {
}
}
}
}
}
}
/**
/**
* create connection
* create connection
*
*
...
@@ -423,34 +425,34 @@ public class SqlTask extends AbstractTask {
...
@@ -423,34 +425,34 @@ public class SqlTask extends AbstractTask {
List
<
User
>
users
=
alertDao
.
queryUserByAlertGroupId
(
taskExecutionContext
.
getSqlTaskExecutionContext
().
getWarningGroupId
());
List
<
User
>
users
=
alertDao
.
queryUserByAlertGroupId
(
taskExecutionContext
.
getSqlTaskExecutionContext
().
getWarningGroupId
());
// receiving group list
// receiving group list
List
<
String
>
rece
vi
ersList
=
new
ArrayList
<>();
List
<
String
>
rece
iv
ersList
=
new
ArrayList
<>();
for
(
User
user:
users
){
for
(
User
user:
users
){
rece
vi
ersList
.
add
(
user
.
getEmail
().
trim
());
rece
iv
ersList
.
add
(
user
.
getEmail
().
trim
());
}
}
// custom receiver
// custom receiver
String
receivers
=
sqlParameters
.
getReceivers
();
String
receivers
=
sqlParameters
.
getReceivers
();
if
(
StringUtils
.
isNotEmpty
(
receivers
)){
if
(
StringUtils
.
isNotEmpty
(
receivers
)){
String
[]
splits
=
receivers
.
split
(
COMMA
);
String
[]
splits
=
receivers
.
split
(
COMMA
);
for
(
String
receiver
:
splits
){
for
(
String
receiver
:
splits
){
rece
vi
ersList
.
add
(
receiver
.
trim
());
rece
iv
ersList
.
add
(
receiver
.
trim
());
}
}
}
}
// copy list
// copy list
List
<
String
>
rece
vi
ersCcList
=
new
ArrayList
<>();
List
<
String
>
rece
iv
ersCcList
=
new
ArrayList
<>();
// Custom Copier
// Custom Copier
String
receiversCc
=
sqlParameters
.
getReceiversCc
();
String
receiversCc
=
sqlParameters
.
getReceiversCc
();
if
(
StringUtils
.
isNotEmpty
(
receiversCc
)){
if
(
StringUtils
.
isNotEmpty
(
receiversCc
)){
String
[]
splits
=
receiversCc
.
split
(
COMMA
);
String
[]
splits
=
receiversCc
.
split
(
COMMA
);
for
(
String
receiverCc
:
splits
){
for
(
String
receiverCc
:
splits
){
rece
vi
ersCcList
.
add
(
receiverCc
.
trim
());
rece
iv
ersCcList
.
add
(
receiverCc
.
trim
());
}
}
}
}
String
showTypeName
=
sqlParameters
.
getShowType
().
replace
(
COMMA
,
""
).
trim
();
String
showTypeName
=
sqlParameters
.
getShowType
().
replace
(
COMMA
,
""
).
trim
();
if
(
EnumUtils
.
isValidEnum
(
ShowType
.
class
,
showTypeName
)){
if
(
EnumUtils
.
isValidEnum
(
ShowType
.
class
,
showTypeName
)){
Map
<
String
,
Object
>
mailResult
=
MailUtils
.
sendMails
(
rece
vi
ersList
,
Map
<
String
,
Object
>
mailResult
=
MailUtils
.
sendMails
(
rece
iv
ersList
,
rece
vi
ersCcList
,
title
,
content
,
ShowType
.
valueOf
(
showTypeName
).
getDescp
());
rece
iv
ersCcList
,
title
,
content
,
ShowType
.
valueOf
(
showTypeName
).
getDescp
());
if
(!(
boolean
)
mailResult
.
get
(
STATUS
)){
if
(!(
boolean
)
mailResult
.
get
(
STATUS
)){
throw
new
RuntimeException
(
"send mail failed!"
);
throw
new
RuntimeException
(
"send mail failed!"
);
}
}
...
...
dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue
浏览文件 @
7949b672
...
@@ -260,7 +260,7 @@
...
@@ -260,7 +260,7 @@
</div>
</div>
<div
class=
"bottom-box"
>
<div
class=
"bottom-box"
>
<div
class=
"submit"
style=
"background: #fff;"
>
<div
class=
"submit"
style=
"background: #fff;"
>
<x-button
type=
"text"
@
click=
"close()
"
>
{{$t('Cancel')}}
</x-button>
<x-button
type=
"text"
id=
"cancelBtn
"
>
{{$t('Cancel')}}
</x-button>
<x-button
type=
"primary"
shape=
"circle"
:loading=
"spinnerLoading"
@
click=
"ok()"
:disabled=
"isDetails"
>
{{spinnerLoading ? 'Loading...' : $t('Confirm add')}}
</x-button>
<x-button
type=
"primary"
shape=
"circle"
:loading=
"spinnerLoading"
@
click=
"ok()"
:disabled=
"isDetails"
>
{{spinnerLoading ? 'Loading...' : $t('Confirm add')}}
</x-button>
</div>
</div>
</div>
</div>
...
@@ -580,6 +580,7 @@
...
@@ -580,6 +580,7 @@
}
}
this
.
isContentBox
=
false
this
.
isContentBox
=
false
// flag Whether to delete a node this.$destroy()
// flag Whether to delete a node this.$destroy()
this
.
$emit
(
'
close
'
,
{
this
.
$emit
(
'
close
'
,
{
item
:
{
item
:
{
type
:
this
.
cacheBackfillItem
.
type
,
type
:
this
.
cacheBackfillItem
.
type
,
...
@@ -675,7 +676,11 @@
...
@@ -675,7 +676,11 @@
this
.
isContentBox
=
true
this
.
isContentBox
=
true
},
},
mounted
()
{
mounted
()
{
let
self
=
this
$
(
"
#cancelBtn
"
).
mousedown
(
function
(
event
){
event
.
preventDefault
();
self
.
close
()
});
},
},
updated
()
{
updated
()
{
},
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录