oceanos 5 years ago
parent
commit
2f70e34b08
  1. 55
      ReleaseNotes.md
  2. 5
      dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/ExcelUtils.java
  3. 10
      dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/ExcelUtilsTest.java
  4. 3
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java
  5. 2
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ExecutorService.java
  6. 8
      dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ZKNodeType.java
  7. 10
      dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/OSUtils.java
  8. 2
      dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/os/OSUtilsTest.java
  9. 2
      dolphinscheduler-dist/release-docs/LICENSE
  10. 8
      dolphinscheduler-dist/release-docs/licenses/ui-licenses/LICENSE-normalize
  11. 20
      dolphinscheduler-dist/release-docs/licenses/ui-licenses/LICENSE-vue-treeselect
  12. 6
      dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java
  13. 2
      dolphinscheduler-ui/package.json
  14. 7
      dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue
  15. 8
      dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/list/_source/list.vue
  16. 3
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/list/_source/list.vue
  17. 7
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/file/pages/list/_source/rename.vue
  18. 3
      dolphinscheduler-ui/src/js/conf/home/pages/resource/pages/udf/pages/resource/_source/list.vue
  19. 6
      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

5
dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/ExcelUtils.java

@ -26,6 +26,7 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
@ -102,7 +103,11 @@ public class ExcelUtils {
for (int i = 0; i < headerList.size(); i++) {
sheet.setColumnWidth(i, headerList.get(i).length() * 800);
}
File file = new File(xlsFilePath);
if (!file.exists()) {
file.mkdirs();
}
//setting file output

10
dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/ExcelUtilsTest.java

@ -89,4 +89,14 @@ public class ExcelUtilsTest {
ExcelUtils.genExcelFile(incorrectContent1, title, xlsFilePath);
}
/**
* Test GenExcelFile (check directory)
*/
@Test
public void testGenExcelFileByCheckDir() {
ExcelUtils.genExcelFile("[{\"a\": \"a\"},{\"a\": \"a\"}]", "t", "/tmp/xls");
File file = new File("/tmp/xls" + Constants.SINGLE_SLASH + "t" + Constants.EXCEL_SUFFIX_XLS);
file.delete();
}
}

3
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ResourcesController.java

@ -154,8 +154,7 @@ public class ResourcesController extends BaseController{
@ApiImplicitParam(name = "id", value = "RESOURCE_ID", required = true, dataType ="Int", example = "100"),
@ApiImplicitParam(name = "type", value = "RESOURCE_TYPE", required = true, dataType ="ResourceType"),
@ApiImplicitParam(name = "name", value = "RESOURCE_NAME", required = true, dataType ="String"),
@ApiImplicitParam(name = "description", value = "RESOURCE_DESC", dataType ="String"),
@ApiImplicitParam(name = "file", value = "RESOURCE_FILE", required = true,dataType = "MultipartFile")
@ApiImplicitParam(name = "description", value = "RESOURCE_DESC", dataType ="String")
})
@PostMapping(value = "/update")
public Result updateResource(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,

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,
Priority processInstancePriority, int workerGroupId, Integer timeout) throws ParseException {
Map<String, Object> result = new HashMap<>(5);
// timeout is valid
// timeout is invalid
if (timeout <= 0 || timeout > MAX_TASK_TIMEOUT) {
putMsg(result,Status.TASK_TIMEOUT_PARAMS_ERROR);
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 {
/**
* 0 do not send warning;
* 1 send if process success;
* 2 send if process failed;
* 3 send if process ending;
* 0 master node;
* 1 worker node;
* 2 dead_server node;
* 3 task_queue node;
*/
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();
} finally {
if (br != null) {
try {
br.close();
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
IOUtils.closeQuietly(br);
}
}
@ -408,7 +402,7 @@ public class OSUtils {
* whether is windows
* @return true if windows
*/
public static boolean isWindows() { ;
public static boolean isWindows() {
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
public void cpuUsage() throws Exception {
logger.info("cpuUsage : {}", OSUtils.cpuUsage());
Thread.sleep(1000l);
Thread.sleep(1000L);
logger.info("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
jsplumb 2.8.6: https://github.com/jsplumb/jsplumb MIT and GPLv2
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-router 2.7.0: https://github.com/vuejs/vue-router 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.

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

@ -299,7 +299,11 @@ public class SqlTask extends AbstractTask {
while (resultSet.next()) {
JSONObject mapOfColValues = new JSONObject(true);
for (int i = 1; i <= num; i++) {
mapOfColValues.put(md.getColumnName(i), resultSet.getObject(i));
if (StringUtils.isNotEmpty(md.getColumnLabel(i))) {
mapOfColValues.put(md.getColumnLabel(i), resultSet.getObject(i));
} else {
mapOfColValues.put(md.getColumnName(i), resultSet.getObject(i));
}
}
resultJSONArray.add(mapOfColValues);
}

2
dolphinscheduler-ui/package.json

@ -12,7 +12,7 @@
},
"dependencies": {
"@riophae/vue-treeselect": "^0.4.0",
"ans-ui": "1.1.7",
"ans-ui": "1.1.9",
"axios": "^0.16.2",
"bootstrap": "3.3.7",
"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;
}
}
.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>

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">
<x-checkbox @on-change="_topCheckBoxClick" v-model="checkAll"></x-checkbox>
</th>
<th scope="col" width="40">
<th scope="col">
<span>{{$t('#')}}</span>
</th>
<th scope="col">
<th scope="col" width="70">
<span>{{$t('Process Name')}}</span>
</th>
<th scope="col" width="70">
<th scope="col" width="60">
<span>{{$t('Executor')}}</span>
</th>
<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>
</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>
</td>
<td><span>{{_rtRunningType(item.commandType)}}</span></td>

3
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 { downloadFile } from '@/module/download'
import localStore from '@/module/util/localStorage'
export default {
name: 'file-manage-list',
data () {
@ -238,4 +237,4 @@
},
components: { }
}
</script>
</script>

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

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

3
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 { bytesToSize } from '@/module/util/util'
import localStore from '@/module/util/localStorage'
export default {
name: 'udf-manage-list',
data () {
@ -215,4 +214,4 @@
},
components: { }
}
</script>
</script>

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

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