Skip to content

Commit 578fb9a

Browse files
authored
fix: reset stream stats with limit (openobserve#7001)
1 parent 2cb55bb commit 578fb9a

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

src/infra/src/file_list/mysql.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -971,13 +971,16 @@ UPDATE stream_stats
971971
let start = std::time::Instant::now();
972972
let limit = config::get_config().limit.calculate_stats_step_limit;
973973
loop {
974-
match sqlx::query("DELETE FROM file_list WHERE id IN (SELECT id FROM file_list WHERE deleted IS TRUE AND id <= ? LIMIT ?);")
974+
let start = std::time::Instant::now();
975+
match sqlx::query("DELETE FROM file_list WHERE id IN (SELECT id FROM file_list WHERE org = ? AND deleted IS TRUE AND id <= ? LIMIT ?);")
976+
.bind(org_id)
975977
.bind(max_id)
976978
.bind(limit)
977979
.execute(&mut *tx)
978980
.await
979981
{
980982
Ok(v) => {
983+
log::debug!("[MYSQL] delete file list rows affected: {}, took: {} ms", v.rows_affected(), start.elapsed().as_millis());
981984
if v.rows_affected() == 0 {
982985
break;
983986
}

src/infra/src/file_list/postgres.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -988,13 +988,16 @@ UPDATE stream_stats
988988
let start = std::time::Instant::now();
989989
let limit = config::get_config().limit.calculate_stats_step_limit;
990990
loop {
991-
match sqlx::query("DELETE FROM file_list WHERE id IN (SELECT id FROM file_list WHERE deleted IS TRUE AND id <= $1 LIMIT $2);")
991+
let start = std::time::Instant::now();
992+
match sqlx::query("DELETE FROM file_list WHERE id IN (SELECT id FROM file_list WHERE org = $1 AND deleted IS TRUE AND id <= $2 LIMIT $3);")
993+
.bind(org_id)
992994
.bind(max_id)
993995
.bind(limit)
994996
.execute(&mut *tx)
995997
.await
996998
{
997999
Ok(v) => {
1000+
log::debug!("[POSTGRES] delete file list rows affected: {}, took: {} ms", v.rows_affected(), start.elapsed().as_millis());
9981001
if v.rows_affected() == 0 {
9991002
break;
10001003
}

src/infra/src/file_list/sqlite.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -869,13 +869,16 @@ UPDATE stream_stats
869869
if let Some((_min_id, max_id)) = pk_value {
870870
let limit = config::get_config().limit.calculate_stats_step_limit;
871871
loop {
872-
match sqlx::query("DELETE FROM file_list WHERE id IN (SELECT id FROM file_list WHERE deleted IS TRUE AND id <= $1 LIMIT $2);")
872+
let start = std::time::Instant::now();
873+
match sqlx::query("DELETE FROM file_list WHERE id IN (SELECT id FROM file_list WHERE org = $1 AND deleted IS TRUE AND id <= $2 LIMIT $3);")
874+
.bind(org_id)
873875
.bind(max_id)
874876
.bind(limit)
875877
.execute(&mut *tx)
876878
.await
877879
{
878880
Ok(v) => {
881+
log::debug!("[SQLITE] delete file list rows affected: {}, took: {} ms", v.rows_affected(), start.elapsed().as_millis());
879882
if v.rows_affected() == 0 {
880883
break;
881884
}

0 commit comments

Comments
 (0)