Browse Source

Merge branch 'dev' into dev

pull/2/head
dailidong 5 years ago committed by GitHub
parent
commit
ab98be1739
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 55
      ReleaseNotes.md
  2. 2
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ExecutorService.java
  3. 8
      dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ZKNodeType.java
  4. 10
      dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
  5. 2
      dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java
  6. 2
      dolphinscheduler-dist/release-docs/LICENSE
  7. 8
      dolphinscheduler-dist/release-docs/licenses/ui-licenses/LICENSE-normalize
  8. 20
      dolphinscheduler-dist/release-docs/licenses/ui-licenses/LICENSE-vue-treeselect
  9. 4
      dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java
  10. 2
      dolphinscheduler-ui/package.json
  11. 7
      dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue
  12. 8
      dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/list/_source/list.vue
  13. 1
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/list/_source/list.vue
  14. 5
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/list/_source/rename.vue
  15. 1
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/udf/pages/resource/_source/list.vue
  16. 4
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/udf/pages/resource/_source/rename.vue

55
ReleaseNotes.md

@ -1,55 +0,0 @@
## 1.2.0
### New Feature
1. Support postgre sql
2. Change all Chinese names to English
3. Add flink and http task support
4. Cross project dependencies
5. Modify mybatis to mybatisplus, support multy databases.
6. Add export and import definition feaure
7. Github actions ci compile check
8. Add method and parameters comments
9. Add java doc for common module
### Enhancement
1. Add license and notice files
2. Move batchDelete Process Define/Instance Outside for transactional
3. Remove space before and after login user name
4. Dockerfile optimization
5. Change mysql-connector-java scope to test
6. Owners and administrators can delete schedule
7. DB page rename and background color modification 
8. Add postgre performance monitor
9. Resolve style conflict, recipient cannot tab and value verification
10. Checkbox change background color and env to Chinese
11. Change chinese sql to english
12. Change sqlSessionTemplate singleton and reformat code 
13. The value of loadaverage should be two decimal places
14. Delete alert group need delete the relation of user and alert group
15. Remove check resources when delete tenant
16. Check processInstance state before delete worker group 
17. Add check user and definitions function when delete tenant
18. Delete before check to avoid KeeperException$NoNodeException
### Bug Fixes
1. Fix #1245, make scanCommand transactional
2. Fix ZKWorkerClient not close PathChildrenCache
3. Data type convert error ,email send error bug fix
4. Catch exception transaction method does not take effect to modify
5. Fix the spring transaction not worker bug
6. Task log print worker log bug fix
7. Fix api server debug mode bug
8. The task is abnormal and task is running bug fix
9. Fix bug: tasks queue length error
10. Fix unsuitable error message
11. Fix bug: phone can be empty
12. Fix email error password
13. Fix CheckUtils.checkUserParams method
14. The process cannot be terminated while tasks in the status submit success
15. Fix too many connection in upgrade or create 
16. Fix the bug when worker execute task using queue. and remove checking
17. Resole verify udf name error and delete udf error 
18. Fix bug: task cannot submit when recovery failover
19. Fix bug: the administrator authorizes the project to ordinary users,but ordinary users cannot see the process definition created by the administrator
20. Fix bug: create dolphinscheduler sql failed

2
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ExecutorService.java

@ -98,7 +98,7 @@ public class ExecutorService extends BaseService{
String receivers, String receiversCc, RunMode runMode, String receivers, String receiversCc, RunMode runMode,
Priority processInstancePriority, int workerGroupId, Integer timeout) throws ParseException { Priority processInstancePriority, int workerGroupId, Integer timeout) throws ParseException {
Map<String, Object> result = new HashMap<>(5); Map<String, Object> result = new HashMap<>(5);
// timeout is valid // timeout is invalid
if (timeout <= 0 || timeout > MAX_TASK_TIMEOUT) { if (timeout <= 0 || timeout > MAX_TASK_TIMEOUT) {
putMsg(result,Status.TASK_TIMEOUT_PARAMS_ERROR); putMsg(result,Status.TASK_TIMEOUT_PARAMS_ERROR);
return result; return result;

8
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ZKNodeType.java

@ -22,10 +22,10 @@ package org.apache.dolphinscheduler.common.enums;
public enum ZKNodeType { public enum ZKNodeType {
/** /**
* 0 do not send warning; * 0 master node;
* 1 send if process success; * 1 worker node;
* 2 send if process failed; * 2 dead_server node;
* 3 send if process ending; * 3 task_queue node;
*/ */
MASTER, WORKER, DEAD_SERVER, TASK_QUEUE; MASTER, WORKER, DEAD_SERVER, TASK_QUEUE;
} }

10
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java

@ -352,13 +352,7 @@ public class OSUtils {
return sb.toString(); return sb.toString();
} finally { } finally {
if (br != null) { IOUtils.closeQuietly(br);
try {
br.close();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
} }
} }
@ -408,7 +402,7 @@ public class OSUtils {
* whether is windows * whether is windows
* @return true if windows * @return true if windows
*/ */
public static boolean isWindows() { ; public static boolean isWindows() {
return getOSName().startsWith("Windows"); return getOSName().startsWith("Windows");
} }

2
dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java

@ -67,7 +67,7 @@ public class OSUtilsTest {
@Test @Test
public void cpuUsage() throws Exception { public void cpuUsage() throws Exception {
logger.info("cpuUsage : {}", OSUtils.cpuUsage()); logger.info("cpuUsage : {}", OSUtils.cpuUsage());
Thread.sleep(1000l); Thread.sleep(1000L);
logger.info("cpuUsage : {}", OSUtils.cpuUsage()); logger.info("cpuUsage : {}", OSUtils.cpuUsage());
double cpuUsage = OSUtils.cpuUsage(); double cpuUsage = OSUtils.cpuUsage();

2
dolphinscheduler-dist/release-docs/LICENSE vendored

@ -518,6 +518,8 @@ MIT licenses
js-cookie 2.2.1: https://github.com/js-cookie/js-cookie MIT js-cookie 2.2.1: https://github.com/js-cookie/js-cookie MIT
jsplumb 2.8.6: https://github.com/jsplumb/jsplumb MIT and GPLv2 jsplumb 2.8.6: https://github.com/jsplumb/jsplumb MIT and GPLv2
lodash 4.17.11: https://github.com/lodash/lodash MIT lodash 4.17.11: https://github.com/lodash/lodash MIT
normalize.css 8.0.1: https://github.com/necolas/normalize.css MIT
vue-treeselect 0.4.0: https://github.com/riophae/vue-treeselect MIT
vue 2.5.17: https://github.com/vuejs/vue MIT vue 2.5.17: https://github.com/vuejs/vue MIT
vue-router 2.7.0: https://github.com/vuejs/vue-router MIT vue-router 2.7.0: https://github.com/vuejs/vue-router MIT
vuex 3.0.0: https://github.com/vuejs/vuex MIT vuex 3.0.0: https://github.com/vuejs/vuex MIT

8
dolphinscheduler-dist/release-docs/licenses/ui-licenses/LICENSE-normalize vendored

@ -0,0 +1,8 @@
The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

20
dolphinscheduler-dist/release-docs/licenses/ui-licenses/LICENSE-vue-treeselect vendored

@ -0,0 +1,20 @@
Copyright (c) 2017-present Riophae Lee
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

4
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java

@ -299,8 +299,12 @@ public class SqlTask extends AbstractTask {
while (resultSet.next()) { while (resultSet.next()) {
JSONObject mapOfColValues = new JSONObject(true); JSONObject mapOfColValues = new JSONObject(true);
for (int i = 1; i <= num; i++) { for (int i = 1; i <= num; i++) {
if (StringUtils.isNotEmpty(md.getColumnLabel(i))) {
mapOfColValues.put(md.getColumnLabel(i), resultSet.getObject(i));
} else {
mapOfColValues.put(md.getColumnName(i), resultSet.getObject(i)); mapOfColValues.put(md.getColumnName(i), resultSet.getObject(i));
} }
}
resultJSONArray.add(mapOfColValues); resultJSONArray.add(mapOfColValues);
} }
logger.debug("execute sql : {}", JSON.toJSONString(resultJSONArray, SerializerFeature.WriteMapNullValue)); logger.debug("execute sql : {}", JSON.toJSONString(resultJSONArray, SerializerFeature.WriteMapNullValue));

2
dolphinscheduler-ui/package.json

@ -12,7 +12,7 @@
}, },
"dependencies": { "dependencies": {
"@riophae/vue-treeselect": "^0.4.0", "@riophae/vue-treeselect": "^0.4.0",
"ans-ui": "1.1.7", "ans-ui": "1.1.9",
"axios": "^0.16.2", "axios": "^0.16.2",
"bootstrap": "3.3.7", "bootstrap": "3.3.7",
"canvg": "1.5.1", "canvg": "1.5.1",

7
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue

@ -413,4 +413,11 @@
padding: 0; padding: 0;
} }
} }
.x-date-packer-panel .x-date-packer-day .lattice label.bg-hover {
background: #00BFFF!important;
margin-top: -4px;
}
.x-date-packer-panel .x-date-packer-day .lattice em:hover {
background: #0098e1!important;
}
</style> </style>

8
dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/list/_source/list.vue

@ -22,13 +22,13 @@
<th scope="col" width="50"> <th scope="col" width="50">
<x-checkbox @on-change="_topCheckBoxClick" v-model="checkAll"></x-checkbox> <x-checkbox @on-change="_topCheckBoxClick" v-model="checkAll"></x-checkbox>
</th> </th>
<th scope="col" width="40"> <th scope="col">
<span>{{$t('#')}}</span> <span>{{$t('#')}}</span>
</th> </th>
<th scope="col"> <th scope="col" width="70">
<span>{{$t('Process Name')}}</span> <span>{{$t('Process Name')}}</span>
</th> </th>
<th scope="col" width="70"> <th scope="col" width="60">
<span>{{$t('Executor')}}</span> <span>{{$t('Executor')}}</span>
</th> </th>
<th scope="col" width="70"> <th scope="col" width="70">
@ -71,7 +71,7 @@
<span class="ellipsis" style="padding-left: 4px;"><router-link :to="{ path: '/projects/instance/list/' + item.id}" tag="a" class="links" :title="item.name">{{item.name}}</router-link></span> <span class="ellipsis" style="padding-left: 4px;"><router-link :to="{ path: '/projects/instance/list/' + item.id}" tag="a" class="links" :title="item.name">{{item.name}}</router-link></span>
</td> </td>
<td> <td>
<span v-if="item.executorName">{{item.executorName}}</span> <span style="word-break: break-all" v-if="item.executorName">{{item.executorName}}</span>
<span v-else>-</span> <span v-else>-</span>
</td> </td>
<td><span>{{_rtRunningType(item.commandType)}}</span></td> <td><span>{{_rtRunningType(item.commandType)}}</span></td>

1
dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/list/_source/list.vue

@ -134,7 +134,6 @@
import { bytesToSize } from '@/module/util/util' import { bytesToSize } from '@/module/util/util'
import { downloadFile } from '@/module/download' import { downloadFile } from '@/module/download'
import localStore from '@/module/util/localStorage' import localStore from '@/module/util/localStorage'
export default { export default {
name: 'file-manage-list', name: 'file-manage-list',
data () { data () {

5
dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/list/_source/rename.vue

@ -47,9 +47,9 @@
<script> <script>
import i18n from '@/module/i18n' import i18n from '@/module/i18n'
import store from '@/conf/home/store' import store from '@/conf/home/store'
import localStore from '@/module/util/localStorage'
import mPopup from '@/module/components/popup/popup' import mPopup from '@/module/components/popup/popup'
import mListBoxF from '@/module/components/listBoxF/listBoxF' import mListBoxF from '@/module/components/listBoxF/listBoxF'
export default { export default {
name: 'resource-file-rename', name: 'resource-file-rename',
data () { data () {
@ -71,7 +71,7 @@
}) })
}else{ }else{
return this.store.dispatch('resource/resourceVerifyName', { return this.store.dispatch('resource/resourceVerifyName', {
name: this.name, fullName: localStore.getItem('currentDir')+'/'+this.name,
type: 'FILE' type: 'FILE'
}) })
} }
@ -100,7 +100,6 @@
} else { } else {
resolve() resolve()
} }
}) })
} }
}, },

1
dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/udf/pages/resource/_source/list.vue

@ -128,7 +128,6 @@
import { downloadFile } from '@/module/download' import { downloadFile } from '@/module/download'
import { bytesToSize } from '@/module/util/util' import { bytesToSize } from '@/module/util/util'
import localStore from '@/module/util/localStorage' import localStore from '@/module/util/localStorage'
export default { export default {
name: 'udf-manage-list', name: 'udf-manage-list',
data () { data () {

4
dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/udf/pages/resource/_source/rename.vue

@ -48,9 +48,9 @@
<script> <script>
import i18n from '@/module/i18n' import i18n from '@/module/i18n'
import store from '@/conf/home/store' import store from '@/conf/home/store'
import localStore from '@/module/util/localStorage'
import mPopup from '@/module/components/popup/popup' import mPopup from '@/module/components/popup/popup'
import mListBoxF from '@/module/components/listBoxF/listBoxF' import mListBoxF from '@/module/components/listBoxF/listBoxF'
export default { export default {
name: 'resource-udf-rename', name: 'resource-udf-rename',
data () { data () {
@ -72,7 +72,7 @@
}) })
}else{ }else{
return this.store.dispatch('resource/resourceVerifyName', { return this.store.dispatch('resource/resourceVerifyName', {
name: this.name, fullName: localStore.getItem('currentDir')+'/'+this.name,
type: 'UDF' type: 'UDF'
}) })
} }

Loading…
Cancel
Save