未验证 提交 ef1363d9 编写于 作者: J Jared Tan 提交者: GitHub

remove unused min date timebucket in jdbc delethistory logical. (#5845)

* remove unused min date timebucket in jdbc delethistory logical.

* update CHANGES.md
上级 edf0bce3
......@@ -41,6 +41,7 @@ Release Notes.
* Make the codes and doc consistent in sharding server and core server.
* Fix that chunked string is incorrect while the tag contains colon.
* Fix the incorrect dynamic configuration key bug of `endpoint-name-grouping`.
* Remove unused min date timebucket in jdbc deletehistory logical
#### UI
* Fix incorrect label in radial chart in topology.
......
......@@ -49,7 +49,7 @@ public class HistoryDeleteEsDAO extends EsDAO implements IHistoryDeleteDAO {
return;
}
}
deadline = Long.valueOf(new DateTime().plusDays(0 - ttl).toString("yyyyMMdd"));
deadline = Long.parseLong(new DateTime().plusDays(-ttl).toString("yyyyMMdd"));
List<String> indexes = client.retrievalIndexByAliases(model.getName());
......
......@@ -40,7 +40,7 @@ public class HistoryDeleteDAO implements IHistoryDeleteDAO {
log.debug("TTL execution log, model: {}", model.getName());
}
try {
long deadline = Long.valueOf(new DateTime().plusDays(0 - ttl).toString("yyyyMMddHHmm"));
long deadline = Long.parseLong(new DateTime().plusDays(-ttl).toString("yyyyMMddHHmm"));
client.deleteByQuery(model.getName(), TimeBucket.getTimestamp(deadline));
} catch (Exception e) {
......
......@@ -39,34 +39,28 @@ public class H2HistoryDeleteDAO implements IHistoryDeleteDAO {
@Override
public void deleteHistory(Model model, String timeBucketColumnName, int ttl) throws IOException {
SQLBuilder dataDeleteSQL = new SQLBuilder("delete from " + model.getName() + " where ")
.append(timeBucketColumnName).append("<= ? and ")
.append(timeBucketColumnName).append(">= ?");
long minTimeBucket = 0;
DateTime minDate = new DateTime(1900, 1, 1, 0, 0);
.append(timeBucketColumnName).append("<= ? ");
try (Connection connection = client.getConnection()) {
long deadline;
if (model.isRecord()) {
deadline = Long.valueOf(new DateTime().plusDays(0 - ttl).toString("yyyyMMddHHmmss"));
deadline = Long.parseLong(new DateTime().plusDays(-ttl).toString("yyyyMMddHHmmss"));
} else {
switch (model.getDownsampling()) {
case Minute:
deadline = Long.valueOf(new DateTime().plusDays(0 - ttl).toString("yyyyMMddHHmm"));
minTimeBucket = Long.valueOf(minDate.toString("yyyyMMddHHmm"));
deadline = Long.parseLong(new DateTime().plusDays(-ttl).toString("yyyyMMddHHmm"));
break;
case Hour:
deadline = Long.valueOf(new DateTime().plusDays(0 - ttl).toString("yyyyMMddHH"));
minTimeBucket = Long.valueOf(minDate.toString("yyyyMMddHH"));
deadline = Long.parseLong(new DateTime().plusDays(-ttl).toString("yyyyMMddHH"));
break;
case Day:
deadline = Long.valueOf(new DateTime().plusDays(0 - ttl).toString("yyyyMMdd"));
minTimeBucket = Long.valueOf(minDate.toString("yyyyMMdd"));
deadline = Long.parseLong(new DateTime().plusDays(-ttl).toString("yyyyMMdd"));
break;
default:
return;
}
}
client.execute(connection, dataDeleteSQL.toString(), deadline, minTimeBucket);
client.execute(connection, dataDeleteSQL.toString(), deadline);
} catch (JDBCClientException | SQLException e) {
throw new IOException(e.getMessage(), e);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册