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

* remove unused min date timebucket in jdbc delethistory logical.

* update CHANGES.md
This commit is contained in:
Jared Tan 2020-11-15 19:28:38 +08:00 committed by GitHub
parent edf0bce37f
commit ef1363d928
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 14 deletions

View File

@ -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.

View File

@ -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());

View File

@ -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) {

View File

@ -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);
}