bao liang
4 years ago
committed by
GitHub
157 changed files with 1490 additions and 4696 deletions
Binary file not shown.
@ -0,0 +1,467 @@ |
|||||||
|
<!-- |
||||||
|
~ Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
~ contributor license agreements. See the NOTICE file distributed with |
||||||
|
~ this work for additional information regarding copyright ownership. |
||||||
|
~ The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
~ (the "License"); you may not use this file except in compliance with |
||||||
|
~ the License. You may obtain a copy of the License at |
||||||
|
~ |
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
~ |
||||||
|
~ Unless required by applicable law or agreed to in writing, software |
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
~ See the License for the specific language governing permissions and |
||||||
|
~ limitations under the License. |
||||||
|
--> |
||||||
|
<configuration> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.initialSize</name> |
||||||
|
<value>5</value> |
||||||
|
<description> |
||||||
|
Init connection number |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.minIdle</name> |
||||||
|
<value>5</value> |
||||||
|
<description> |
||||||
|
Min connection number |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.maxActive</name> |
||||||
|
<value>50</value> |
||||||
|
<description> |
||||||
|
Max connection number |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.maxWait</name> |
||||||
|
<value>60000</value> |
||||||
|
<description> |
||||||
|
Max wait time for get a connection in milliseconds. |
||||||
|
If configuring maxWait, fair locks are enabled by default and concurrency efficiency decreases. |
||||||
|
If necessary, unfair locks can be used by configuring the useUnfairLock attribute to true. |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.timeBetweenEvictionRunsMillis</name> |
||||||
|
<value>60000</value> |
||||||
|
<description> |
||||||
|
Milliseconds for check to close free connections |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.timeBetweenConnectErrorMillis</name> |
||||||
|
<value>60000</value> |
||||||
|
<description> |
||||||
|
The Destroy thread detects the connection interval and closes the physical connection in milliseconds |
||||||
|
if the connection idle time is greater than or equal to minEvictableIdleTimeMillis. |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.minEvictableIdleTimeMillis</name> |
||||||
|
<value>300000</value> |
||||||
|
<description> |
||||||
|
The longest time a connection remains idle without being evicted, in milliseconds |
||||||
|
</description> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.validationQuery</name> |
||||||
|
<value>SELECT 1</value> |
||||||
|
<description> |
||||||
|
The SQL used to check whether the connection is valid requires a query statement. |
||||||
|
If validation Query is null, testOnBorrow, testOnReturn, and testWhileIdle will not work. |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.validationQueryTimeout</name> |
||||||
|
<value>3</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
Check whether the connection is valid for timeout, in seconds |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.testWhileIdle</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
When applying for a connection, |
||||||
|
if it is detected that the connection is idle longer than time Between Eviction Runs Millis, |
||||||
|
validation Query is performed to check whether the connection is valid |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.testOnBorrow</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
Execute validation to check if the connection is valid when applying for a connection |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.testOnReturn</name> |
||||||
|
<value>false</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
Execute validation to check if the connection is valid when the connection is returned |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.defaultAutoCommit</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.keepAlive</name> |
||||||
|
<value>false</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
|
||||||
|
<property> |
||||||
|
<name>spring.datasource.poolPreparedStatements</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
Open PSCache, specify count PSCache for every connection |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.maxPoolPreparedStatementPerConnectionSize</name> |
||||||
|
<value>20</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.spring.datasource.filters</name> |
||||||
|
<value>stat,wall,log4j</value> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>spring.datasource.connectionProperties</name> |
||||||
|
<value>druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000</value> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
|
||||||
|
<property> |
||||||
|
<name>mybatis-plus.mapper-locations</name> |
||||||
|
<value>classpath*:/org.apache.dolphinscheduler.dao.mapper/*.xml</value> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.typeEnumsPackage</name> |
||||||
|
<value>org.apache.dolphinscheduler.*.enums</value> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.typeAliasesPackage</name> |
||||||
|
<value>org.apache.dolphinscheduler.dao.entity</value> |
||||||
|
<description> |
||||||
|
Entity scan, where multiple packages are separated by a comma or semicolon |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.global-config.db-config.id-type</name> |
||||||
|
<value>AUTO</value> |
||||||
|
<value-attributes> |
||||||
|
<type>value-list</type> |
||||||
|
<entries> |
||||||
|
<entry> |
||||||
|
<value>AUTO</value> |
||||||
|
<label>AUTO</label> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<value>INPUT</value> |
||||||
|
<label>INPUT</label> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<value>ID_WORKER</value> |
||||||
|
<label>ID_WORKER</label> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<value>UUID</value> |
||||||
|
<label>UUID</label> |
||||||
|
</entry> |
||||||
|
</entries> |
||||||
|
<selection-cardinality>1</selection-cardinality> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
Primary key type AUTO:" database ID AUTO ", |
||||||
|
INPUT:" user INPUT ID", |
||||||
|
ID_WORKER:" global unique ID (numeric type unique ID)", |
||||||
|
UUID:" global unique ID UUID"; |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.global-config.db-config.field-strategy</name> |
||||||
|
<value>NOT_NULL</value> |
||||||
|
<value-attributes> |
||||||
|
<type>value-list</type> |
||||||
|
<entries> |
||||||
|
<entry> |
||||||
|
<value>IGNORED</value> |
||||||
|
<label>IGNORED</label> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<value>NOT_NULL</value> |
||||||
|
<label>NOT_NULL</label> |
||||||
|
</entry> |
||||||
|
<entry> |
||||||
|
<value>NOT_EMPTY</value> |
||||||
|
<label>NOT_EMPTY</label> |
||||||
|
</entry> |
||||||
|
</entries> |
||||||
|
<selection-cardinality>1</selection-cardinality> |
||||||
|
</value-attributes> |
||||||
|
<description> |
||||||
|
Field policy IGNORED:" ignore judgment ", |
||||||
|
NOT_NULL:" not NULL judgment "), |
||||||
|
NOT_EMPTY:" not NULL judgment" |
||||||
|
</description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.global-config.db-config.column-underline</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.global-config.db-config.logic-delete-value</name> |
||||||
|
<value>1</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.global-config.db-config.logic-not-delete-value</name> |
||||||
|
<value>0</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.global-config.db-config.banner</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
|
||||||
|
<property> |
||||||
|
<name>mybatis-plus.configuration.map-underscore-to-camel-case</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.configuration.cache-enabled</name> |
||||||
|
<value>false</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.configuration.call-setters-on-nulls</name> |
||||||
|
<value>true</value> |
||||||
|
<value-attributes> |
||||||
|
<type>boolean</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>mybatis-plus.configuration.jdbc-type-for-null</name> |
||||||
|
<value>null</value> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.exec.threads</name> |
||||||
|
<value>100</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.exec.task.num</name> |
||||||
|
<value>20</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.heartbeat.interval</name> |
||||||
|
<value>10</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.task.commit.retryTimes</name> |
||||||
|
<value>5</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.task.commit.interval</name> |
||||||
|
<value>1000</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.max.cpuload.avg</name> |
||||||
|
<value>100</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>master.reserved.memory</name> |
||||||
|
<value>0.1</value> |
||||||
|
<value-attributes> |
||||||
|
<type>float</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>worker.exec.threads</name> |
||||||
|
<value>100</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>worker.heartbeat.interval</name> |
||||||
|
<value>10</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>worker.fetch.task.num</name> |
||||||
|
<value>3</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>worker.max.cpuload.avg</name> |
||||||
|
<value>100</value> |
||||||
|
<value-attributes> |
||||||
|
<type>int</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
<property> |
||||||
|
<name>worker.reserved.memory</name> |
||||||
|
<value>0.1</value> |
||||||
|
<value-attributes> |
||||||
|
<type>float</type> |
||||||
|
</value-attributes> |
||||||
|
<description></description> |
||||||
|
<on-ambari-upgrade add="true"/> |
||||||
|
</property> |
||||||
|
|
||||||
|
</configuration> |
@ -1,206 +0,0 @@ |
|||||||
<!-- |
|
||||||
~ Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
~ contributor license agreements. See the NOTICE file distributed with |
|
||||||
~ this work for additional information regarding copyright ownership. |
|
||||||
~ The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
~ (the "License"); you may not use this file except in compliance with |
|
||||||
~ the License. You may obtain a copy of the License at |
|
||||||
~ |
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
~ |
|
||||||
~ Unless required by applicable law or agreed to in writing, software |
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
~ See the License for the specific language governing permissions and |
|
||||||
~ limitations under the License. |
|
||||||
--> |
|
||||||
<configuration> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.initialSize</name> |
|
||||||
<value>5</value> |
|
||||||
<description> |
|
||||||
Init connection number |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.minIdle</name> |
|
||||||
<value>5</value> |
|
||||||
<description> |
|
||||||
Min connection number |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.maxActive</name> |
|
||||||
<value>50</value> |
|
||||||
<description> |
|
||||||
Max connection number |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.maxWait</name> |
|
||||||
<value>60000</value> |
|
||||||
<description> |
|
||||||
Max wait time for get a connection in milliseconds. |
|
||||||
If configuring maxWait, fair locks are enabled by default and concurrency efficiency decreases. |
|
||||||
If necessary, unfair locks can be used by configuring the useUnfairLock attribute to true. |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.timeBetweenEvictionRunsMillis</name> |
|
||||||
<value>60000</value> |
|
||||||
<description> |
|
||||||
Milliseconds for check to close free connections |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.timeBetweenConnectErrorMillis</name> |
|
||||||
<value>60000</value> |
|
||||||
<description> |
|
||||||
The Destroy thread detects the connection interval and closes the physical connection in milliseconds |
|
||||||
if the connection idle time is greater than or equal to minEvictableIdleTimeMillis. |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.minEvictableIdleTimeMillis</name> |
|
||||||
<value>300000</value> |
|
||||||
<description> |
|
||||||
The longest time a connection remains idle without being evicted, in milliseconds |
|
||||||
</description> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.validationQuery</name> |
|
||||||
<value>SELECT 1</value> |
|
||||||
<description> |
|
||||||
The SQL used to check whether the connection is valid requires a query statement. |
|
||||||
If validation Query is null, testOnBorrow, testOnReturn, and testWhileIdle will not work. |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.validationQueryTimeout</name> |
|
||||||
<value>3</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
Check whether the connection is valid for timeout, in seconds |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.testWhileIdle</name> |
|
||||||
<value>true</value> |
|
||||||
<value-attributes> |
|
||||||
<type>boolean</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
When applying for a connection, |
|
||||||
if it is detected that the connection is idle longer than time Between Eviction Runs Millis, |
|
||||||
validation Query is performed to check whether the connection is valid |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.testOnBorrow</name> |
|
||||||
<value>true</value> |
|
||||||
<value-attributes> |
|
||||||
<type>boolean</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
Execute validation to check if the connection is valid when applying for a connection |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.testOnReturn</name> |
|
||||||
<value>false</value> |
|
||||||
<value-attributes> |
|
||||||
<type>boolean</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
Execute validation to check if the connection is valid when the connection is returned |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.defaultAutoCommit</name> |
|
||||||
<value>true</value> |
|
||||||
<value-attributes> |
|
||||||
<type>boolean</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.keepAlive</name> |
|
||||||
<value>false</value> |
|
||||||
<value-attributes> |
|
||||||
<type>boolean</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
|
|
||||||
<property> |
|
||||||
<name>spring.datasource.poolPreparedStatements</name> |
|
||||||
<value>true</value> |
|
||||||
<value-attributes> |
|
||||||
<type>boolean</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
Open PSCache, specify count PSCache for every connection |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.maxPoolPreparedStatementPerConnectionSize</name> |
|
||||||
<value>20</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description></description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.spring.datasource.filters</name> |
|
||||||
<value>stat,wall,log4j</value> |
|
||||||
<description></description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>spring.datasource.connectionProperties</name> |
|
||||||
<value>druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000</value> |
|
||||||
<description></description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
</configuration> |
|
@ -1,88 +0,0 @@ |
|||||||
<!-- |
|
||||||
~ Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
~ contributor license agreements. See the NOTICE file distributed with |
|
||||||
~ this work for additional information regarding copyright ownership. |
|
||||||
~ The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
~ (the "License"); you may not use this file except in compliance with |
|
||||||
~ the License. You may obtain a copy of the License at |
|
||||||
~ |
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
~ |
|
||||||
~ Unless required by applicable law or agreed to in writing, software |
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
~ See the License for the specific language governing permissions and |
|
||||||
~ limitations under the License. |
|
||||||
--> |
|
||||||
<configuration> |
|
||||||
<property> |
|
||||||
<name>master.exec.threads</name> |
|
||||||
<value>100</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>master execute thread num</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>master.exec.task.num</name> |
|
||||||
<value>20</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>master execute task number in parallel</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>master.heartbeat.interval</name> |
|
||||||
<value>10</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>master heartbeat interval</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>master.task.commit.retryTimes</name> |
|
||||||
<value>5</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>master commit task retry times</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>master.task.commit.interval</name> |
|
||||||
<value>1000</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>master commit task interval</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>master.max.cpuload.avg</name> |
|
||||||
<value>100</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>only less than cpu avg load, master server can work. default value : the number of cpu cores * 2</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>master.reserved.memory</name> |
|
||||||
<value>0.3</value> |
|
||||||
<description>only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G.</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
|
|
||||||
<property> |
|
||||||
<name>master.listen.port</name> |
|
||||||
<value>5678</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>master listen port</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
</configuration> |
|
@ -1,67 +0,0 @@ |
|||||||
<!-- |
|
||||||
~ Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
~ contributor license agreements. See the NOTICE file distributed with |
|
||||||
~ this work for additional information regarding copyright ownership. |
|
||||||
~ The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
~ (the "License"); you may not use this file except in compliance with |
|
||||||
~ the License. You may obtain a copy of the License at |
|
||||||
~ |
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
~ |
|
||||||
~ Unless required by applicable law or agreed to in writing, software |
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
~ See the License for the specific language governing permissions and |
|
||||||
~ limitations under the License. |
|
||||||
--> |
|
||||||
<configuration> |
|
||||||
<property> |
|
||||||
<name>worker.exec.threads</name> |
|
||||||
<value>100</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>worker execute thread num</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>worker.heartbeat.interval</name> |
|
||||||
<value>10</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>worker heartbeat interval</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>worker.max.cpuload.avg</name> |
|
||||||
<value>100</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>worker.reserved.memory</name> |
|
||||||
<value>0.3</value> |
|
||||||
<description>only larger than reserved memory, worker server can work. default value : physical memory * 1/10, unit is G.</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
|
|
||||||
<property> |
|
||||||
<name>worker.listen.port</name> |
|
||||||
<value>1234</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description>worker listen port</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>worker.groups</name> |
|
||||||
<value>default</value> |
|
||||||
<description>default worker group</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
</configuration> |
|
@ -1,76 +0,0 @@ |
|||||||
<!-- |
|
||||||
~ Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
~ contributor license agreements. See the NOTICE file distributed with |
|
||||||
~ this work for additional information regarding copyright ownership. |
|
||||||
~ The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
~ (the "License"); you may not use this file except in compliance with |
|
||||||
~ the License. You may obtain a copy of the License at |
|
||||||
~ |
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
~ |
|
||||||
~ Unless required by applicable law or agreed to in writing, software |
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
~ See the License for the specific language governing permissions and |
|
||||||
~ limitations under the License. |
|
||||||
--> |
|
||||||
<configuration> |
|
||||||
<property> |
|
||||||
<name>zookeeper.dolphinscheduler.root</name> |
|
||||||
<value>/dolphinscheduler</value> |
|
||||||
<description> |
|
||||||
dolphinscheduler root directory |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>zookeeper.session.timeout</name> |
|
||||||
<value>300</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>zookeeper.connection.timeout</name> |
|
||||||
<value>300</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>zookeeper.retry.base.sleep</name> |
|
||||||
<value>100</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>zookeeper.retry.max.sleep</name> |
|
||||||
<value>30000</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
<property> |
|
||||||
<name>zookeeper.retry.maxtime</name> |
|
||||||
<value>5</value> |
|
||||||
<value-attributes> |
|
||||||
<type>int</type> |
|
||||||
</value-attributes> |
|
||||||
<description> |
|
||||||
</description> |
|
||||||
<on-ambari-upgrade add="true"/> |
|
||||||
</property> |
|
||||||
</configuration> |
|
@ -1,20 +0,0 @@ |
|||||||
# |
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
# contributor license agreements. See the NOTICE file distributed with |
|
||||||
# this work for additional information regarding copyright ownership. |
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
# (the "License"); you may not use this file except in compliance with |
|
||||||
# the License. You may obtain a copy of the License at |
|
||||||
# |
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
# |
|
||||||
# Unless required by applicable law or agreed to in writing, software |
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
# See the License for the specific language governing permissions and |
|
||||||
# limitations under the License. |
|
||||||
# |
|
||||||
|
|
||||||
{% for key, value in dolphin_master_map.iteritems() -%} |
|
||||||
{{key}}={{value}} |
|
||||||
{% endfor %} |
|
@ -1,20 +0,0 @@ |
|||||||
# |
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
# contributor license agreements. See the NOTICE file distributed with |
|
||||||
# this work for additional information regarding copyright ownership. |
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
# (the "License"); you may not use this file except in compliance with |
|
||||||
# the License. You may obtain a copy of the License at |
|
||||||
# |
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
# |
|
||||||
# Unless required by applicable law or agreed to in writing, software |
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
# See the License for the specific language governing permissions and |
|
||||||
# limitations under the License. |
|
||||||
# |
|
||||||
|
|
||||||
{% for key, value in dolphin_worker_map.iteritems() -%} |
|
||||||
{{key}}={{value}} |
|
||||||
{% endfor %} |
|
@ -1,20 +0,0 @@ |
|||||||
# |
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
# contributor license agreements. See the NOTICE file distributed with |
|
||||||
# this work for additional information regarding copyright ownership. |
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
# (the "License"); you may not use this file except in compliance with |
|
||||||
# the License. You may obtain a copy of the License at |
|
||||||
# |
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
# |
|
||||||
# Unless required by applicable law or agreed to in writing, software |
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
# See the License for the specific language governing permissions and |
|
||||||
# limitations under the License. |
|
||||||
# |
|
||||||
|
|
||||||
{% for key, value in dolphin_zookeeper_map.iteritems() -%} |
|
||||||
{{key}}={{value}} |
|
||||||
{% endfor %} |
|
@ -1,25 +0,0 @@ |
|||||||
# |
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
# contributor license agreements. See the NOTICE file distributed with |
|
||||||
# this work for additional information regarding copyright ownership. |
|
||||||
# The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
# (the "License"); you may not use this file except in compliance with |
|
||||||
# the License. You may obtain a copy of the License at |
|
||||||
# |
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
# |
|
||||||
# Unless required by applicable law or agreed to in writing, software |
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
# See the License for the specific language governing permissions and |
|
||||||
# limitations under the License. |
|
||||||
# |
|
||||||
dependencies: |
|
||||||
- name: postgresql |
|
||||||
version: 8.x.x |
|
||||||
repository: https://charts.bitnami.com/bitnami |
|
||||||
condition: postgresql.enabled |
|
||||||
- name: zookeeper |
|
||||||
version: 5.x.x |
|
||||||
repository: https://charts.bitnami.com/bitnami |
|
||||||
condition: redis.enabled |
|
@ -1,23 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.common.enums; |
|
||||||
|
|
||||||
public enum Event { |
|
||||||
ACK, |
|
||||||
RESULT; |
|
||||||
} |
|
@ -1,67 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.dao.upgrade; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.ConnectionUtils; |
|
||||||
import org.slf4j.Logger; |
|
||||||
import org.slf4j.LoggerFactory; |
|
||||||
|
|
||||||
import java.sql.Connection; |
|
||||||
import java.sql.PreparedStatement; |
|
||||||
import java.sql.ResultSet; |
|
||||||
import java.util.HashMap; |
|
||||||
import java.util.Map; |
|
||||||
|
|
||||||
/** |
|
||||||
* resource dao |
|
||||||
*/ |
|
||||||
public class ResourceDao { |
|
||||||
public static final Logger logger = LoggerFactory.getLogger(ProcessDefinitionDao.class); |
|
||||||
|
|
||||||
/** |
|
||||||
* list all resources |
|
||||||
* @param conn connection |
|
||||||
* @return map that key is full_name and value is id |
|
||||||
*/ |
|
||||||
Map<String,Integer> listAllResources(Connection conn){ |
|
||||||
Map<String,Integer> resourceMap = new HashMap<>(); |
|
||||||
|
|
||||||
String sql = String.format("SELECT id,full_name FROM t_ds_resources"); |
|
||||||
ResultSet rs = null; |
|
||||||
PreparedStatement pstmt = null; |
|
||||||
try { |
|
||||||
pstmt = conn.prepareStatement(sql); |
|
||||||
rs = pstmt.executeQuery(); |
|
||||||
|
|
||||||
while (rs.next()){ |
|
||||||
Integer id = rs.getInt(1); |
|
||||||
String fullName = rs.getString(2); |
|
||||||
resourceMap.put(fullName,id); |
|
||||||
} |
|
||||||
|
|
||||||
} catch (Exception e) { |
|
||||||
logger.error(e.getMessage(),e); |
|
||||||
throw new RuntimeException("sql: " + sql, e); |
|
||||||
} finally { |
|
||||||
ConnectionUtils.releaseResource(rs, pstmt, conn); |
|
||||||
} |
|
||||||
|
|
||||||
return resourceMap; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,73 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
package org.apache.dolphinscheduler.remote.command; |
|
||||||
|
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
/** |
|
||||||
* db task ack request command |
|
||||||
*/ |
|
||||||
public class DBTaskAckCommand implements Serializable { |
|
||||||
|
|
||||||
private int taskInstanceId; |
|
||||||
private int status; |
|
||||||
|
|
||||||
public DBTaskAckCommand(int status,int taskInstanceId) { |
|
||||||
this.status = status; |
|
||||||
this.taskInstanceId = taskInstanceId; |
|
||||||
} |
|
||||||
|
|
||||||
public int getTaskInstanceId() { |
|
||||||
return taskInstanceId; |
|
||||||
} |
|
||||||
|
|
||||||
public void setTaskInstanceId(int taskInstanceId) { |
|
||||||
this.taskInstanceId = taskInstanceId; |
|
||||||
} |
|
||||||
|
|
||||||
public int getStatus() { |
|
||||||
return status; |
|
||||||
} |
|
||||||
|
|
||||||
public void setStatus(int status) { |
|
||||||
this.status = status; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* package response command |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command(){ |
|
||||||
Command command = new Command(); |
|
||||||
command.setType(CommandType.DB_TASK_ACK); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
public String toString() { |
|
||||||
return "DBTaskAckCommand{" + |
|
||||||
"taskInstanceId=" + taskInstanceId + |
|
||||||
", status=" + status + |
|
||||||
'}'; |
|
||||||
} |
|
||||||
} |
|
@ -1,71 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
package org.apache.dolphinscheduler.remote.command; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
|
|
||||||
import java.io.Serializable; |
|
||||||
|
|
||||||
/** |
|
||||||
* db task final result response command |
|
||||||
*/ |
|
||||||
public class DBTaskResponseCommand implements Serializable { |
|
||||||
|
|
||||||
private int taskInstanceId; |
|
||||||
private int status; |
|
||||||
|
|
||||||
public DBTaskResponseCommand(int status,int taskInstanceId) { |
|
||||||
this.status = status; |
|
||||||
this.taskInstanceId = taskInstanceId; |
|
||||||
} |
|
||||||
|
|
||||||
public int getStatus() { |
|
||||||
return status; |
|
||||||
} |
|
||||||
|
|
||||||
public void setStatus(int status) { |
|
||||||
this.status = status; |
|
||||||
} |
|
||||||
|
|
||||||
public int getTaskInstanceId() { |
|
||||||
return taskInstanceId; |
|
||||||
} |
|
||||||
|
|
||||||
public void setTaskInstanceId(int taskInstanceId) { |
|
||||||
this.taskInstanceId = taskInstanceId; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* package response command |
|
||||||
* @return command |
|
||||||
*/ |
|
||||||
public Command convert2Command(){ |
|
||||||
Command command = new Command(); |
|
||||||
command.setType(CommandType.DB_TASK_RESPONSE); |
|
||||||
byte[] body = JSONUtils.toJsonByteArray(this); |
|
||||||
command.setBody(body); |
|
||||||
return command; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public String toString() { |
|
||||||
return "DBTaskResponseCommand{" + |
|
||||||
"taskInstanceId=" + taskInstanceId + |
|
||||||
", status=" + status + |
|
||||||
'}'; |
|
||||||
} |
|
||||||
} |
|
@ -1,39 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
package org.apache.dolphinscheduler.server.log; |
|
||||||
|
|
||||||
import ch.qos.logback.classic.spi.ILoggingEvent; |
|
||||||
import ch.qos.logback.core.FileAppender; |
|
||||||
import org.slf4j.Marker; |
|
||||||
|
|
||||||
import static ch.qos.logback.classic.ClassicConstants.FINALIZE_SESSION_MARKER; |
|
||||||
|
|
||||||
/** |
|
||||||
* Task log appender |
|
||||||
*/ |
|
||||||
public class TaskLogAppender extends FileAppender<ILoggingEvent>{ |
|
||||||
@Override |
|
||||||
protected void append(ILoggingEvent event) { |
|
||||||
Marker marker = event.getMarker(); |
|
||||||
if (marker !=null) { |
|
||||||
if (marker.equals(FINALIZE_SESSION_MARKER)) { |
|
||||||
stop(); |
|
||||||
} |
|
||||||
} |
|
||||||
super.subAppend(event); |
|
||||||
} |
|
||||||
} |
|
@ -1,94 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.server.worker.cache; |
|
||||||
|
|
||||||
import org.apache.dolphinscheduler.common.enums.Event; |
|
||||||
import org.apache.dolphinscheduler.remote.command.Command; |
|
||||||
|
|
||||||
import java.util.Map; |
|
||||||
import java.util.concurrent.ConcurrentHashMap; |
|
||||||
|
|
||||||
/** |
|
||||||
* Responce Cache : cache worker send master result |
|
||||||
*/ |
|
||||||
public class ResponceCache { |
|
||||||
|
|
||||||
private static final ResponceCache instance = new ResponceCache(); |
|
||||||
|
|
||||||
private ResponceCache(){} |
|
||||||
|
|
||||||
public static ResponceCache get(){ |
|
||||||
return instance; |
|
||||||
} |
|
||||||
|
|
||||||
private Map<Integer,Command> ackCache = new ConcurrentHashMap<>(); |
|
||||||
private Map<Integer,Command> responseCache = new ConcurrentHashMap<>(); |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* cache response |
|
||||||
* @param taskInstanceId taskInstanceId |
|
||||||
* @param command command |
|
||||||
* @param event event ACK/RESULT |
|
||||||
*/ |
|
||||||
public void cache(Integer taskInstanceId, Command command, Event event){ |
|
||||||
switch (event){ |
|
||||||
case ACK: |
|
||||||
ackCache.put(taskInstanceId,command); |
|
||||||
break; |
|
||||||
case RESULT: |
|
||||||
responseCache.put(taskInstanceId,command); |
|
||||||
break; |
|
||||||
default: |
|
||||||
throw new IllegalArgumentException("invalid event type : " + event); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* remove ack cache |
|
||||||
* @param taskInstanceId taskInstanceId |
|
||||||
*/ |
|
||||||
public void removeAckCache(Integer taskInstanceId){ |
|
||||||
ackCache.remove(taskInstanceId); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* remove reponse cache |
|
||||||
* @param taskInstanceId taskInstanceId |
|
||||||
*/ |
|
||||||
public void removeResponseCache(Integer taskInstanceId){ |
|
||||||
responseCache.remove(taskInstanceId); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* getAckCache |
|
||||||
* @return getAckCache |
|
||||||
*/ |
|
||||||
public Map<Integer,Command> getAckCache(){ |
|
||||||
return ackCache; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* getResponseCache |
|
||||||
* @return getResponseCache |
|
||||||
*/ |
|
||||||
public Map<Integer,Command> getResponseCache(){ |
|
||||||
return responseCache; |
|
||||||
} |
|
||||||
} |
|
@ -1,56 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.server.worker.processor; |
|
||||||
|
|
||||||
import io.netty.channel.Channel; |
|
||||||
import org.apache.dolphinscheduler.common.enums.ExecutionStatus; |
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
import org.apache.dolphinscheduler.common.utils.Preconditions; |
|
||||||
import org.apache.dolphinscheduler.remote.command.*; |
|
||||||
import org.apache.dolphinscheduler.remote.processor.NettyRequestProcessor; |
|
||||||
import org.apache.dolphinscheduler.server.worker.cache.ResponceCache; |
|
||||||
import org.slf4j.Logger; |
|
||||||
import org.slf4j.LoggerFactory; |
|
||||||
|
|
||||||
/** |
|
||||||
* db task ack processor |
|
||||||
*/ |
|
||||||
public class DBTaskAckProcessor implements NettyRequestProcessor { |
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(DBTaskAckProcessor.class); |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
public void process(Channel channel, Command command) { |
|
||||||
Preconditions.checkArgument(CommandType.DB_TASK_ACK == command.getType(), |
|
||||||
String.format("invalid command type : %s", command.getType())); |
|
||||||
|
|
||||||
DBTaskAckCommand taskAckCommand = JSONUtils.parseObject( |
|
||||||
command.getBody(), DBTaskAckCommand.class); |
|
||||||
|
|
||||||
if (taskAckCommand == null){ |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
if (taskAckCommand.getStatus() == ExecutionStatus.SUCCESS.getCode()){ |
|
||||||
ResponceCache.get().removeAckCache(taskAckCommand.getTaskInstanceId()); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,58 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
package org.apache.dolphinscheduler.server.worker.processor; |
|
||||||
|
|
||||||
import io.netty.channel.Channel; |
|
||||||
import org.apache.dolphinscheduler.common.enums.ExecutionStatus; |
|
||||||
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
||||||
import org.apache.dolphinscheduler.common.utils.Preconditions; |
|
||||||
import org.apache.dolphinscheduler.remote.command.Command; |
|
||||||
import org.apache.dolphinscheduler.remote.command.CommandType; |
|
||||||
import org.apache.dolphinscheduler.remote.command.DBTaskResponseCommand; |
|
||||||
import org.apache.dolphinscheduler.remote.processor.NettyRequestProcessor; |
|
||||||
import org.apache.dolphinscheduler.server.worker.cache.ResponceCache; |
|
||||||
import org.slf4j.Logger; |
|
||||||
import org.slf4j.LoggerFactory; |
|
||||||
|
|
||||||
/** |
|
||||||
* db task response processor |
|
||||||
*/ |
|
||||||
public class DBTaskResponseProcessor implements NettyRequestProcessor { |
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(DBTaskResponseProcessor.class); |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
public void process(Channel channel, Command command) { |
|
||||||
Preconditions.checkArgument(CommandType.DB_TASK_RESPONSE == command.getType(), |
|
||||||
String.format("invalid command type : %s", command.getType())); |
|
||||||
|
|
||||||
DBTaskResponseCommand taskResponseCommand = JSONUtils.parseObject( |
|
||||||
command.getBody(), DBTaskResponseCommand.class); |
|
||||||
|
|
||||||
if (taskResponseCommand == null){ |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
if (taskResponseCommand.getStatus() == ExecutionStatus.SUCCESS.getCode()){ |
|
||||||
ResponceCache.get().removeResponseCache(taskResponseCommand.getTaskInstanceId()); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue