summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwangkuan <[email protected]>2021-01-04 11:33:20 +0800
committerwangkuan <[email protected]>2021-01-04 11:33:20 +0800
commit7f6884f6f75ed8ad3eb3336f4f9896066cc41285 (patch)
tree5584d3e27f78812cd5501dfd7d8a1eee265765b0
parent748e36cffb446568b0089b455f2eceda3c883a52 (diff)
操作数据库时间过长导致bug
-rw-r--r--config/application.properties2
-rw-r--r--pom.xml4
-rw-r--r--src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java35
-rw-r--r--src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java34
4 files changed, 40 insertions, 35 deletions
diff --git a/config/application.properties b/config/application.properties
index 94a07e1..197e63f 100644
--- a/config/application.properties
+++ b/config/application.properties
@@ -7,7 +7,7 @@ globle.job_thread=2
#Hbasehttp�Ķ˿�
#Hbase�ı���������ͨ������Ҫ����
hbase.table=tsg:report_result
-hbase.zookeeper_quorum=192.168.10.222,192.168.10.223
+hbase.zookeeper_quorum=192.168.44.12
hbase.zookeeper_property_clientPort=2181
hbase.zookeeper_znode_parent=/hbase
hbase.client_retries_number=3
diff --git a/pom.xml b/pom.xml
index 8a5a186..d85ec50 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
</parent>
<groupId>com.mesa</groupId>
<artifactId>galaxy-report-service</artifactId>
- <version>20.12.03</version>
+ <version>20.12.20</version>
<name>galaxy-report-service</name>
<description>Demo project for Spring Boot</description>
@@ -219,7 +219,7 @@
<forceTags>true</forceTags>
<imageTags>
- <imageTag>20.12.03</imageTag>
+ <imageTag>20.12.20</imageTag>
</imageTags>
<!--远程docker构建,供dockerfile使用-->
<dockerHost>http://192.168.40.153:2375</dockerHost>
diff --git a/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java b/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java
index b5ca8b9..387f403 100644
--- a/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java
+++ b/src/main/java/com/mesa/reportservice/controller/ScheduledResultController.java
@@ -48,8 +48,6 @@ public class ScheduledResultController {
for (JobEntity jobEntity : joblist) {
String sql = jobEntity.getQuerySql().trim();
sql = sql.replace("$exe_time", "toDateTime('" + jobEntity.getIssuedTime().trim() + "')");
- sql = sql.replace("$start_time", "toDateTime('" + jobEntity.getStartTime().trim() + "')");
- sql = sql.replace("$end_time", "toDateTime('" + jobEntity.getEndTime().trim() + "')");
String queryid = DigestUtils.md5Hex(jobEntity.getResultId() + sql);
jobEntity.setQuery_id(queryid);
@@ -97,12 +95,33 @@ public class ScheduledResultController {
logger.info("开始执行任务");
long begintime = System.currentTimeMillis();
job.setBeginTime(begintime);
- pool.execute(new Runnable() {
- @Override
- public void run() {
- es.excuteCkTask(job);
- }
- });
+ String sql = job.getQuerySql().trim();
+ sql = sql.replace("$exe_time", "toDateTime('" + job.getIssuedTime().trim() + "')");
+ job.setQuerySql(sql);
+ String queryid = DigestUtils.md5Hex(job.getResultId() + sql);
+ job.setQuery_id(queryid);
+ job.setQuerySql(sql);
+ job.setStatus(1);
+ job.setExcute_status(1);
+ job.setExcuteDetail("EXECUTING");
+ job.setExcuteRow(0L);
+ job.setExcuteTime(0);
+ job.setExcuteProcess(0);
+ job.setResultRows(0);
+ if(ms.updateProcesses(job)!=0){
+ GlobelConfig.mapresult.put(queryid, job);
+ pool.execute(new Runnable() {
+ @Override
+ public void run() {
+ es.excuteCkTask(job);
+ }
+ });
+ }else{
+ logger.error("更新数据库状态失败");
+
+ }
+
+
}
} else {
logger.info("无待执行任务");
diff --git a/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java
index 7a7d4f9..10769a1 100644
--- a/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java
+++ b/src/main/java/com/mesa/reportservice/service/impl/ExcuteserviceImpl.java
@@ -39,24 +39,8 @@ public class ExcuteserviceImpl implements ExcuteService {
public void excuteCkTask(JobEntity job) {
- String sql = job.getQuerySql().trim();
- sql = sql.replace("$exe_time", "toDateTime('" + job.getIssuedTime().trim() + "')");
- sql = sql.replace("$start_time", "toDateTime('" + job.getStartTime().trim() + "')");
- sql = sql.replace("$end_time", "toDateTime('" + job.getEndTime().trim() + "')");
- job.setQuerySql(sql);
- String queryid = DigestUtils.md5Hex(job.getResultId() + sql);
- job.setQuery_id(queryid);
- job.setQuerySql(sql);
- job.setStatus(1);
- job.setExcute_status(1);
- job.setExcuteDetail("EXECUTING");
- job.setExcuteRow(0L);
- job.setExcuteTime(0);
- job.setExcuteProcess(0);
- job.setResultRows(0);
- GlobelConfig.mapresult.put(queryid, job);
- ms.updateProcesses(job);
- logger.info("execute queryid=" + queryid + " sql=" + sql + "mapresult size=" + GlobelConfig.mapresult.size());
+
+ logger.info("execute queryid=" + job.getQuery_id() + " sql=" + job.getQuerySql() + "mapresult size=" + GlobelConfig.mapresult.size());
String joburl = getJobUrl(job.getQuerySql(), job.getResultId());
String killurl = ClickhouseConfig.getKillUrl(job.getQuery_id());
HttpResult hr = new HttpResult();
@@ -84,7 +68,7 @@ public class ExcuteserviceImpl implements ExcuteService {
job.setResult(hr.getBody());
job.setExcuteTime((int) Float.parseFloat(rows.get("elapsed").toString()));
job.setExcute_status(Integer.parseInt(mapresult.get("code").toString()));
- logger.info("success resultid = "+job.getResultId()+" queryid=" + queryid + " sql=" + sql);
+ logger.info("success resultid = "+job.getResultId()+" queryid=" + job.getQuery_id() + " sql=" + job.getQuerySql());
}
} catch (SocketTimeoutException e) {
@@ -93,7 +77,7 @@ public class ExcuteserviceImpl implements ExcuteService {
if (k == 0) {
job.setExcute_status(500001);
job.setExcuteDetail("SQL Execution Error excute query time out");
- logger.info("timeout resultid = "+job.getResultId()+" queryid=" + queryid + " sql=" + sql);
+ logger.info("timeout resultid = "+job.getResultId()+" queryid=" + job.getQuery_id() + " sql=" + job.getQuerySql());
} else {
logger.info("Socket warn " + e.toString() + "retry time " + (3 - k));
}
@@ -119,10 +103,12 @@ public class ExcuteserviceImpl implements ExcuteService {
k = 0;
}
- try {
- cs.QuerySystemForDelete(killurl);
- } catch (Exception e) {
- logger.error("Kill Query Error" + e.toString());
+ if(hr.getCode() != 200) {
+ try {
+ cs.QuerySystemForDelete(killurl);
+ } catch (Exception e) {
+ logger.error("Kill Query Error" + e.toString());
+ }
}
}
while (k > 0);