[improvement-#12416] Use CollectionUtils.isEmpty judge the collection isEmpty to avoid NPE
#12449
Co-authored-by: fuchanghai <33984497+fuchanghai@users.noreply.github.com>
* Add waiting strategy to support master/worker can recover from registry lost
* throw exception when zookeeper registry start failed due to interrupted
* Change the content of alert to an array
* Increase unit test coverage
* Modify the code format
* Modify the code format
* Modify judgment statement
* Deleting invalid References
* Modify the previous code implementation and improve the test data
* Modify the code format
* Move the location of the Content conversion
* Remove useless code
* Change the code format
* Modify unit tests
* Modify unit tests
* Modify unit tests
* Changing the location of the code
* Modify the code
Co-authored-by: fanwanlong <fanwanlong@kezaihui.com>
Co-authored-by: 范万龙 <fanwanlong@fanwanlongs-MBP.lan>
* [Improvement][Metrics] Add metrics for alert server (#11131)
* Update related docs of metrics
* Add grafana demo dashboards for alert server metrics
* Refactor metric classes with UtilityClass annotation
* Refactor meter names in camelCase for checkstyle
* [Improvement] [Alert Server] Add default datasource url in alert server application.yaml for consistency (#10788)
* [Improvement] [Alert Server] Add newline at end of file (#10788)
* Optimize master log, add workflow instance id and task instance id in log
* Use MDC to set the workflow info in log4j
* Add workflowInstanceId and taskInstanceId in MDC
* [common] Make dolphinscheduler_env.sh work
* Change dist tarball `dolphinscheduler_env.sh` location
from `bin/` to `conf/`, which users could finish their
change configuration operation in one single directory.
and we only need to add `$DOLPHINSCHEDULER_HOME/conf`
when we start our sever instead of adding both
`$DOLPHINSCHEDULER_HOME/conf` and `$DOLPHINSCHEDULER_HOME/bin`
* Change the `start.sh`'s path of `dolphinscheduler_env.sh`
* Change the setting order of `dolphinscheduler_env.sh`
* `bin/env/dolphinscheduler_env.sh` will overwrite the `<server>/conf/dolphinscheduler_env.sh`
when start the server using `bin/dolphinsceduler_daemon.sh` or `bin/install.sh`
* Change the related docs
* change email attachment filename to add random string to avoid always use same file
* change email attachment filename to add random string to avoid always use same file
* fix wechat issues:
1. change table msg type to markdown.
2. change userId to not required and enrich hints
3. change 'app id' to 'app id and chat id'
* fix wechat issues:
1. revert table showtype and add markdown showtype.
2. enrich hints.
3. delete 'chatid', rename agentid to weChatAgentIdChatId.
4. modify code to send markdown message.
* fix wechat issues: Change the language pack of agentId to agentId/chatId.
* fix format
* fix param name
Co-authored-by: Amy <amywang0104@163.com>
* fix wechat alert with app and group chat
* add apache header and fix imports
* delete wechat alert 'userSendMsg' property code
* delete wechat alert 'userSendMsg' property code in Test
* delete wechat alert 'userSendMsg' property code in factory Test
* change `getSubWorkFlowParam` from private to protected